{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,18]],"date-time":"2026-03-18T13:33:56Z","timestamp":1773840836241,"version":"3.50.1"},"reference-count":93,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2023,12,27]],"date-time":"2023-12-27T00:00:00Z","timestamp":1703635200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2023,12,27]],"date-time":"2023-12-27T00:00:00Z","timestamp":1703635200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/501100005856","name":"Faculdade de Ci\u00eancias e Tecnologia, Universidade Nova de Lisboa","doi-asserted-by":"publisher","award":["SFRH\/BD\/146624\/2019"],"award-info":[{"award-number":["SFRH\/BD\/146624\/2019"]}],"id":[{"id":"10.13039\/501100005856","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Empir Software Eng"],"published-print":{"date-parts":[[2024,1]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Software performance concerns have been attracting research interest at an increasing rate, especially regarding energy performance in non-wired computing devices. In the context of mobile devices, several research works have been devoted to assessing the performance of software and its underlying code. One important contribution of such research efforts is sets of programming guidelines aiming at identifying efficient and inefficient programming practices, and consequently to steer software developers to write performance-friendly code.<\/jats:p><jats:p>Despite recent efforts in this direction, it is still almost unfeasible to obtain universal and up-to-date knowledge regarding software and respective source code performance. Namely regarding energy performance, where there has been growing interest in optimizing software energy consumption due to the power restrictions of such devices. There are still many difficulties reported by the community in measuring performance, namely in large-scale validation and replication. The Android ecosystem is a particular example, where the great fragmentation of the platform, the constant evolution of the hardware, the software platform, the development libraries themselves, and the fact that most of the platform tools are integrated into the IDE\u2019s GUI, makes it extremely difficult to perform performance studies based on large sets of data\/applications. In this paper, we analyze the execution of a diversified corpus of applications of significant magnitude. We analyze the source-code performance of 1322 versions of 215 different Android applications, dynamically executed with over than 27900 tested scenarios, using state-of-the-art black-box testing frameworks with different combinations of GUI inputs. Our empirical analysis allowed to observe that semantic program changes such as adding functionality and repairing bugfixes are the changes more associated with relevant impact on energy performance. Furthermore, we also demonstrate that several coding practices previously identified as energy-greedy do not replicate such behavior in our execution context and can have distinct impacts across several performance indicators: runtime, memory and energy consumption. Some of these practices include some performance issues reported by the Android Lint and Android SDK APIs. We also provide evidence that the evaluated performance indicators have little to no correlation with the performance issues\u2019 priority detected by Android Lint. Finally, our results allowed us to demonstrate that there are significant differences in terms of performance between the most used libraries suited for implementing common programming tasks, such as HTTP communication, JSON manipulation, image loading\/rendering, among others, providing a set of recommendations to select the most efficient library for each performance indicator. Based on the conclusions drawn and in the extension of the developed work, we also synthesized a set of guidelines that can be used by practitioners to replicate energy studies and build more efficient mobile software.<\/jats:p>","DOI":"10.1007\/s10664-023-10391-y","type":"journal-article","created":{"date-parts":[[2023,12,27]],"date-time":"2023-12-27T08:02:00Z","timestamp":1703664120000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":8,"title":["A large-scale empirical study on mobile performance: energy, run-time and memory"],"prefix":"10.1007","volume":"29","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-2979-0635","authenticated-orcid":false,"given":"Rui","family":"Rua","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5686-7151","authenticated-orcid":false,"given":"Jo\u00e3o","family":"Saraiva","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2023,12,27]]},"reference":[{"key":"10391_CR1","unstructured":"AppBrain (2020) App brain libraries statistics. https:\/\/www.appbrain.com\/stats\/libraries. Accessed 10 Feb 2021"},{"key":"10391_CR2","doi-asserted-by":"publisher","unstructured":"Bangash AA, Ali K, Hindle A (2022) A black box technique to reduce energy consumption of android apps. In: Proceedings of the ACM\/IEEE 44th international conference on software engineering: new ideas and emerging results, ICSE-NIER \u201922. Association for Computing Machinery, New York, NY, USA, pp 1\u20135. https:\/\/doi.org\/10.1145\/3510455.3512795","DOI":"10.1145\/3510455.3512795"},{"key":"10391_CR3","doi-asserted-by":"publisher","unstructured":"Bangash AA, Tiganov D, Ali K, Hindle A (2021) Energy efficient guidelines for IOS core location framework. In: 2021 IEEE international conference on software maintenance and evolution (ICSME), pp 320\u2013331. https:\/\/doi.org\/10.1109\/ICSME52107.2021.00035","DOI":"10.1109\/ICSME52107.2021.00035"},{"key":"10391_CR4","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-020-09827-6","author":"A Bi\u00f8rn-Hansen","year":"2020","unstructured":"Bi\u00f8rn-Hansen A, Rieger C, Gr\u00f8nli TM, Majchrzak TA, Ghinea G (2020) An empirical investigation of performance overhead in cross-platform mobile development frameworks. Empir Softw Eng. https:\/\/doi.org\/10.1007\/s10664-020-09827-6","journal-title":"Empir Softw Eng"},{"key":"10391_CR5","doi-asserted-by":"publisher","unstructured":"Ca\u00f1ete A, Horcas JM, Ayala I, Fuentes L (2020) Energy efficient adaptation engines for android applications. Inf Softw Technol 118:106220. https:\/\/doi.org\/10.1016\/j.infsof.2019.106220. https:\/\/www.sciencedirect.com\/science\/article\/pii\/S0950584919302307","DOI":"10.1016\/j.infsof.2019.106220"},{"key":"10391_CR6","doi-asserted-by":"publisher","unstructured":"Choudhary SR, Gorla A, Orso A (2015) Automated test input generation for android: are we there yet? (e). In: Proceedings of the 2015 30th IEEE\/ACM international conference on automated software engineering (ASE), ASE \u201915. IEEE Computer Society, Washington, DC, USA, pp 429\u2013440. https:\/\/doi.org\/10.1109\/ASE.2015.89","DOI":"10.1109\/ASE.2015.89"},{"issue":"3","key":"10391_CR7","doi-asserted-by":"publisher","first-page":"1422","DOI":"10.1007\/s10664-017-9545-x","volume":"23","author":"S Chowdhury","year":"2018","unstructured":"Chowdhury S, Di Nardo S, Hindle A, Jiang ZM (2018) An exploratory study on assessing the energy impact of logging on android applications. Empirical Softw Engg 23(3):1422\u20131456. https:\/\/doi.org\/10.1007\/s10664-017-9545-x","journal-title":"Empirical Softw Engg"},{"issue":"4","key":"10391_CR8","doi-asserted-by":"publisher","first-page":"1649","DOI":"10.1007\/s10664-018-9640-7","volume":"24","author":"S Chowdhury","year":"2019","unstructured":"Chowdhury S, Borle S, Romansky S, Hindle A (2019) Greenscaler: training software energy models with automatic test generation. Empirical Softw Eng 24(4):1649\u20131692. https:\/\/doi.org\/10.1007\/s10664-018-9640-7","journal-title":"Empirical Softw Eng"},{"key":"10391_CR9","doi-asserted-by":"crossref","unstructured":"Couto M, Borba P, Cunha J, Fernandes JP, Pereira R, Saraiva J (2017) Products go green: worst-case energy consumption in software product lines. In: Proceedings of the 21st international systems and software product line conference, vol A, pp 84\u201393","DOI":"10.1145\/3106195.3106214"},{"key":"10391_CR10","doi-asserted-by":"crossref","unstructured":"Couto M, Cunha J, Fernandes JP, Pereira R, Saraiva J (2015) Greendroid: a tool for analysing power consumption in the android ecosystem. In: 2015 IEEE 13th international scientific conference on informatics. IEEE, pp 73\u201378","DOI":"10.1109\/Informatics.2015.7377811"},{"key":"10391_CR11","doi-asserted-by":"publisher","unstructured":"Couto M, Cunha J, Fernandes JP, Pereira R, Saraiva J (2015) Greendroid: a tool for analysing power consumption in the android ecosystem. In: 2015 IEEE 13th international scientific conference on informatics, pp 73\u201378. https:\/\/doi.org\/10.1109\/Informatics.2015.7377811","DOI":"10.1109\/Informatics.2015.7377811"},{"key":"10391_CR12","doi-asserted-by":"publisher","unstructured":"Couto M, Pereira R, Ribeiro F, Rua R, Saraiva JA (2017) Towards a green ranking for programming languages. In: Proceedings of the 21st Brazilian symposium on programming languages, SBLP 2017. ACM, New York, NY, USA, pp 7:1\u20137:8. https:\/\/doi.org\/10.1145\/3125374.3125382","DOI":"10.1145\/3125374.3125382"},{"key":"10391_CR13","doi-asserted-by":"publisher","unstructured":"Couto M, Saraiva J, Fernandes JP (2020) Energy refactorings for android in the large and in the wild. In: 2020 IEEE 27th international conference on software analysis, evolution and reengineering (SANER), pp 217\u2013228. https:\/\/doi.org\/10.1109\/SANER48275.2020.9054858","DOI":"10.1109\/SANER48275.2020.9054858"},{"key":"10391_CR14","doi-asserted-by":"publisher","unstructured":"Cruz L, Abreu R (2017) Performance-based guidelines for energy efficient mobile applications. In: 2017 IEEE\/ACM 4th international conference on mobile software engineering and systems (MOBILESoft), pp 46\u201357. https:\/\/doi.org\/10.1109\/MOBILESoft.2017.19","DOI":"10.1109\/MOBILESoft.2017.19"},{"key":"10391_CR15","doi-asserted-by":"publisher","unstructured":"Cruz L, Abreu R, Rouvignac J (2017) Leafactor: improving energy efficiency of android apps via automatic refactoring. In: 2017 IEEE\/ACM 4th international conference on mobile software engineering and systems (MOBILESoft), pp 205\u2013206. https:\/\/doi.org\/10.1109\/MOBILESoft.2017.21","DOI":"10.1109\/MOBILESoft.2017.21"},{"key":"10391_CR16","doi-asserted-by":"publisher","unstructured":"Cruz L, Abreu R, Rouvignac JN (2017) Leafactor: improving energy efficiency of android apps via automatic refactoring. In: 2017 IEEE\/ACM 4th international conference on mobile software engineering and systems (MOBILESoft), pp 205\u2013206. https:\/\/doi.org\/10.1109\/MOBILESoft.2017.21","DOI":"10.1109\/MOBILESoft.2017.21"},{"key":"10391_CR17","doi-asserted-by":"crossref","unstructured":"D\u2019Agostino RB (1971) An omnibus test of normality for moderate and large size samples","DOI":"10.2307\/2334522"},{"issue":"4","key":"10391_CR18","doi-asserted-by":"publisher","first-page":"2748","DOI":"10.1007\/s10664-019-09798-3","volume":"25","author":"T Das","year":"2020","unstructured":"Das T, Penta MD, Malavolta I (2020) Characterizing the evolution of statically-detectable performance issues of android apps. Empir Softw Eng 25(4):2748\u20132808. https:\/\/doi.org\/10.1007\/s10664-019-09798-3","journal-title":"Empir Softw Eng"},{"key":"10391_CR19","doi-asserted-by":"publisher","unstructured":"Goa\u00ebr OL (2020) Enforcing green code with android lint. In: 2020 35th IEEE\/ACM international conference on automated software engineering workshops (ASEW), pp 85\u201390. https:\/\/doi.org\/10.1145\/3417113.3422188","DOI":"10.1145\/3417113.3422188"},{"key":"10391_CR20","doi-asserted-by":"publisher","unstructured":"Goa\u00ebr OL (2020) Enforcing green code with android lint. In: 2020 35th IEEE\/ACM international conference on automated software engineering workshops (ASEW), pp 85\u201390. https:\/\/doi.org\/10.1145\/3417113.3422188","DOI":"10.1145\/3417113.3422188"},{"key":"10391_CR21","doi-asserted-by":"publisher","unstructured":"Gomez L, Neamtiu I, Azim T, Millstein T (2013) Reran: timing- and touch-sensitive record and replay for android. In: 2013 35th international conference on software engineering (ICSE), pp 72\u201381. https:\/\/doi.org\/10.1109\/ICSE.2013.6606553","DOI":"10.1109\/ICSE.2013.6606553"},{"key":"10391_CR22","unstructured":"Gon\u00e7alves N, Rua R, Cunha J, Pereira R, de\u00a0Sousa\u00a0Saraiva J (2022) Energy efficiency of web browsers in the android ecosystem. ArXiv abs\/2205.11399"},{"key":"10391_CR23","unstructured":"Google (2016) Trepn profiler android app. https:\/\/play.google.com\/store\/apps\/details?id=com.quicinc.trepn. Accessed 10 Feb 2021"},{"key":"10391_CR24","unstructured":"Google (2021) Android lint checks. http:\/\/tools.android.com\/tips\/lint-checks. Accessed 10 Feb 2021"},{"key":"10391_CR25","unstructured":"Google (2021) Android profiler. https:\/\/developer.android.com\/studio\/profile\/android-profiler. Accessed 10 Feb 2021"},{"key":"10391_CR26","unstructured":"Google (2021) App crawler. https:\/\/developer.android.com\/training\/testing\/crawler?hl=en. Accessed 10 Feb 2021"},{"key":"10391_CR27","unstructured":"Google (2021) UI\/application exerciser monkey. https:\/\/developer.android.com\/studio\/test\/monkey. Accessed 10 Feb 2021"},{"key":"10391_CR28","doi-asserted-by":"publisher","unstructured":"Habchi S, Moha N, Rouvoy R (2021) Android code smells: From introduction to refactoring. J Syst Softw 177:110964. https:\/\/doi.org\/10.1016\/j.jss.2021.110964. https:\/\/www.sciencedirect.com\/science\/article\/pii\/S0164121221000613","DOI":"10.1016\/j.jss.2021.110964"},{"key":"10391_CR29","doi-asserted-by":"publisher","unstructured":"Hindle A (2012) Green mining: a methodology of relating software change to power consumption. In: 2012 9th IEEE working conference on mining software repositories (MSR), pp 78\u201387. https:\/\/doi.org\/10.1109\/MSR.2012.6224303","DOI":"10.1109\/MSR.2012.6224303"},{"key":"10391_CR30","doi-asserted-by":"publisher","unstructured":"Hindle A (2013) Green mining: a methodology of relating software change and configuration to power consumption. Empir Softw Eng 20. https:\/\/doi.org\/10.1007\/s10664-013-9276-6","DOI":"10.1007\/s10664-013-9276-6"},{"key":"10391_CR31","doi-asserted-by":"publisher","first-page":"40","DOI":"10.1145\/2840723","volume":"48","author":"M Hoque","year":"2015","unstructured":"Hoque M, Siekkinen M, Khan K, Xiao Y, Tarkoma S (2015) Modeling, profiling, and debugging the energy consumption of mobile devices. ACM Comput Surv 48:40. https:\/\/doi.org\/10.1145\/2840723","journal-title":"ACM Comput Surv"},{"issue":"8","key":"10391_CR32","doi-asserted-by":"publisher","first-page":"2879","DOI":"10.1109\/TSE.2021.3071193","volume":"48","author":"M Hort","year":"2022","unstructured":"Hort M, Kechagia M, Sarro F, Harman M (2022) A survey of performance optimization for mobile applications. IEEE Trans Software Eng 48(8):2879\u20132904. https:\/\/doi.org\/10.1109\/TSE.2021.3071193","journal-title":"IEEE Trans Software Eng"},{"key":"10391_CR33","doi-asserted-by":"publisher","unstructured":"Hu Y, Yan J, Yan D, Lu Q, Yan J (2017) Lightweight energy consumption analysis and prediction for android applications. Sci Comput Program 162. https:\/\/doi.org\/10.1016\/j.scico.2017.05.002","DOI":"10.1016\/j.scico.2017.05.002"},{"key":"10391_CR34","doi-asserted-by":"publisher","unstructured":"Jabbarvand R, Malek S (2017) \u0163droid: an energy-aware mutation testing framework for android. In: Proceedings of the 2017 11th joint meeting on foundations of software engineering, ESEC\/FSE 2017. Association for Computing Machinery, New York, NY, USA, pp 208\u2013219. https:\/\/doi.org\/10.1145\/3106237.3106244","DOI":"10.1145\/3106237.3106244"},{"key":"10391_CR35","doi-asserted-by":"publisher","unstructured":"Jha A, Lee S, Lee W (2019) An empirical study of configuration changes and adoption in android apps. J Syst Softw 156. https:\/\/doi.org\/10.1016\/j.jss.2019.06.095","DOI":"10.1016\/j.jss.2019.06.095"},{"key":"10391_CR36","doi-asserted-by":"publisher","unstructured":"Keong KC, Tieng Wei K, Abd. Ghani AA, Sharif KY (2015) Toward using software metrics as indicator to measure power consumption of mobile application: a case study. In: 2015 9th Malaysian software engineering conference (MySEC), pp 172\u2013177. https:\/\/doi.org\/10.1109\/MySEC.2015.7475216","DOI":"10.1109\/MySEC.2015.7475216"},{"issue":"1","key":"10391_CR37","doi-asserted-by":"publisher","first-page":"45","DOI":"10.1109\/TR.2018.2865733","volume":"68","author":"P Kong","year":"2019","unstructured":"Kong P, Li L, Gao J, Liu K, Bissyand\u00e9 TF, Klein J (2019) Automated testing of android apps: a systematic literature review. IEEE Trans Reliab 68(1):45\u201366. https:\/\/doi.org\/10.1109\/TR.2018.2865733","journal-title":"IEEE Trans Reliab"},{"key":"10391_CR38","doi-asserted-by":"publisher","unstructured":"Kruskal WH, Wallis WA (1952) Use of ranks in one-criterion variance analysis. J Am Stat Assoc 47(260):583\u2013621. https:\/\/doi.org\/10.1080\/01621459.1952.10483441. https:\/\/www.tandfonline.com\/doi\/abs\/10.1080\/01621459.1952.10483441","DOI":"10.1080\/01621459.1952.10483441"},{"key":"10391_CR39","doi-asserted-by":"publisher","unstructured":"Lachgar M, Benouda H, Elfirdoussi S (2018) Android rest APIS: volley vs retrofit. In: 2018 international symposium on advanced electrical and communication technologies (ISAECT), pp 1\u20136. https:\/\/doi.org\/10.1109\/ISAECT.2018.8618824","DOI":"10.1109\/ISAECT.2018.8618824"},{"key":"10391_CR40","doi-asserted-by":"publisher","unstructured":"Li X, Chen J, Liu Y, Wu K, Gallagher JP (2022) Combatting energy issues for mobile applications. ACM Trans Softw Eng Methodol. https:\/\/doi.org\/10.1145\/3527851. Just Accepted","DOI":"10.1145\/3527851"},{"key":"10391_CR41","doi-asserted-by":"crossref","unstructured":"Lima LG, Soares-Neto F, Lieuthier P, Castor F, Melfe G, Fernandes JP (2016) Haskell in green land: analyzing the energy behavior of a purely functional language. In: 2016 IEEE 23rd international conference on software analysis, evolution, and reengineering (SANER), vol\u00a01. IEEE, pp 517\u2013528","DOI":"10.1109\/SANER.2016.85"},{"key":"10391_CR42","doi-asserted-by":"crossref","unstructured":"Lin JW, Salehnamadi N, Malek S (2020) Test automation in open-source android apps: a large-scale empirical study. In: 2020 35th IEEE\/ACM international conference on automated software engineering (ASE), pp 1078\u20131089","DOI":"10.1145\/3324884.3416623"},{"key":"10391_CR43","doi-asserted-by":"publisher","unstructured":"Linares-V\u00e1squez M, Bavota G, Bernal-C\u00e1rdenas C, Oliveto R, Di\u00a0Penta M, Poshyvanyk D (2014) Mining energy-greedy API usage patterns in android apps: an empirical study. In: Proceedings of the 11th working conference on mining software repositories, MSR 2014. ACM, New York, NY, USA, pp 2\u201311. https:\/\/doi.org\/10.1145\/2597073.2597085","DOI":"10.1145\/2597073.2597085"},{"key":"10391_CR44","doi-asserted-by":"publisher","unstructured":"Liu P, Li L, Zhao Y, Sun X, Grundy J (2020) Androzooopen: collecting large-scale open source android apps for the research community. MSR \u201920. Association for Computing Machinery, New York, NY, USA, pp 548\u2013552. https:\/\/doi.org\/10.1145\/3379597.3387503","DOI":"10.1145\/3379597.3387503"},{"key":"10391_CR45","doi-asserted-by":"publisher","unstructured":"Liu J, Wu T, Deng X, Yan J, Zhang J (2017) Insdal: a safe and extensible instrumentation tool on Dalvik byte-code for android applications. In: 2017 IEEE 24th international conference on software analysis, evolution and reengineering (SANER), pp 502\u2013506. https:\/\/doi.org\/10.1109\/SANER.2017.7884662","DOI":"10.1109\/SANER.2017.7884662"},{"key":"10391_CR46","doi-asserted-by":"publisher","unstructured":"Li X, Yang Y, Liu Y, Gallagher JP, Wu K (2020) Detecting and diagnosing energy issues for mobile applications. In: Proceedings of the 29th ACM SIGSOFT international symposium on software testing and analysis, ISSTA 2020. Association for Computing Machinery, New York, NY, USA, pp 115\u2013127. https:\/\/doi.org\/10.1145\/3395363.3397350","DOI":"10.1145\/3395363.3397350"},{"key":"10391_CR47","doi-asserted-by":"publisher","unstructured":"Machiry A, Tahiliani R, Naik M (2013) Dynodroid: an input generation system for android apps. In: Proceedings of the 2013 9th joint meeting on foundations of software engineering, ESEC\/FSE 2013. Association for Computing Machinery, New York, NY, USA, pp 224\u2013234. https:\/\/doi.org\/10.1145\/2491411.2491450","DOI":"10.1145\/2491411.2491450"},{"key":"10391_CR48","unstructured":"Ma X, Huang P, Jin X, Wang P, Park S, Shen D, Zhou Y, Saul LK, Voelker GM (2013) eDoctor: automatically diagnosing abnormal battery drain issues on smartphones. In: 10th USENIX symposium on networked systems design and implementation (NSDI 13). USENIX Association, Lombard, IL, pp 57\u201370. https:\/\/www.usenix.org\/conference\/nsdi13\/technical-sessions\/presentation\/ma"},{"key":"10391_CR49","doi-asserted-by":"publisher","unstructured":"Maia D, Couto M, Saraiva J, Pereira R (2020) E-debitum: managing software energy debt. In: 2020 35th IEEE\/ACM international conference on automated software engineering workshops (ASEW), pp 170\u2013177. https:\/\/doi.org\/10.1145\/3417113.3422999","DOI":"10.1145\/3417113.3422999"},{"issue":"1","key":"10391_CR50","doi-asserted-by":"publisher","first-page":"50","DOI":"10.1214\/aoms\/1177730491","volume":"18","author":"HB Mann","year":"1947","unstructured":"Mann HB, Whitney DR (1947) On a test of whether one of two random variables is stochastically larger than the other. Ann Math Statist 18(1):50\u201360. https:\/\/doi.org\/10.1214\/aoms\/1177730491","journal-title":"Ann Math Statist"},{"key":"10391_CR51","doi-asserted-by":"crossref","unstructured":"Manotas I, Bird C, Zhang R, Shepherd D, Jaspan C, Sadowski C, Pollock L, Clause J (2016) An empirical study of practitioners\u2019 perspectives on green software engineering. In: International conference on software engineering (ICSE), IEEE\/ACM 38th. IEEE, pp 237\u2013248","DOI":"10.1145\/2884781.2884810"},{"issue":"3","key":"10391_CR52","doi-asserted-by":"publisher","first-page":"1644","DOI":"10.1007\/s10664-019-09795-6","volume":"25","author":"A Mazuera-Rozo","year":"2020","unstructured":"Mazuera-Rozo A, Trubiani C, Linares-V\u00e1squez M, Bavota G (2020) Investigating types and survivability of performance bugs in mobile apps. Empirical Softw Eng 25(3):1644\u20131686. https:\/\/doi.org\/10.1007\/s10664-019-09795-6","journal-title":"Empirical Softw Eng"},{"key":"10391_CR53","doi-asserted-by":"crossref","unstructured":"McCabe TJ (1976) A complexity measure. In: Proceedings of the 2Nd international conference on software engineering, ICSE \u201976. IEEE Computer Society Press, Los Alamitos, CA, USA, pp 407. http:\/\/dl.acm.org\/citation.cfm?id=800253.807712","DOI":"10.1109\/TSE.1976.233837"},{"key":"10391_CR54","unstructured":"Mickle T (2018) Your phone is almost out of battery. Remain calm. Call a doctor. https:\/\/www.wsj.com\/articles\/your-phone-is-almost-out-of-battery-remain-calm-call-a-doctor-1525449283. Accessed 10 Feb 2021"},{"key":"10391_CR55","unstructured":"Monsoon (2021) Monsoon power monitor. https:\/\/www.msoon.com. Accessed 10 Feb 2021"},{"key":"10391_CR56","doi-asserted-by":"publisher","unstructured":"Nucci DD, Palomba F, Prota A, Panichella A, Zaidman A, Lucia AD (2017) Petra: a software-based tool for estimating the energy profile of android applications. In: 2017 IEEE\/ACM 39th international conference on software engineering companion (ICSE-C), pp 3\u20136. https:\/\/doi.org\/10.1109\/ICSE-C.2017.18","DOI":"10.1109\/ICSE-C.2017.18"},{"key":"10391_CR57","doi-asserted-by":"publisher","unstructured":"Nucci DD, Palomba F, Prota A, Panichella A, Zaidman A, Lucia AD (2017) Software-based energy profiling of android apps: simple, efficient and reliable? In: 2017 IEEE 24th international conference on software analysis, evolution and reengineering (SANER), pp 103\u2013114. https:\/\/doi.org\/10.1109\/SANER.2017.7884613","DOI":"10.1109\/SANER.2017.7884613"},{"key":"10391_CR58","doi-asserted-by":"publisher","unstructured":"Oliveira W, Oliveira R, Castor F (2017) A study on the energy consumption of android app development approaches. In: 2017 IEEE\/ACM 14th international conference on mining software repositories (MSR), pp 42\u201352. https:\/\/doi.org\/10.1109\/MSR.2017.66","DOI":"10.1109\/MSR.2017.66"},{"key":"10391_CR59","doi-asserted-by":"publisher","unstructured":"Oliveira W, Oliveira R, Castor F (2017) A study on the energy consumption of android app development approaches. In: 2017 IEEE\/ACM 14th international conference on mining software repositories (MSR), pp 42\u201352. https:\/\/doi.org\/10.1109\/MSR.2017.66","DOI":"10.1109\/MSR.2017.66"},{"key":"10391_CR60","doi-asserted-by":"publisher","unstructured":"Oliveira W, Oliveira R, Castor F, Fernandes B, Pinto G (2019) Recommending energy-efficient Java collections. In: Proceedings of the 16th international conference on mining software repositories, MSR \u201919. IEEE Press, Piscataway, NJ, USA, pp 160\u2013170. https:\/\/doi.org\/10.1109\/MSR.2019.00033","DOI":"10.1109\/MSR.2019.00033"},{"key":"10391_CR61","doi-asserted-by":"publisher","first-page":"65228","DOI":"10.1109\/ACCESS.2019.2918239","volume":"7","author":"G Ortiz","year":"2019","unstructured":"Ortiz G, Garc\u00eda-De-Prado A, Berrocal J, Hern\u00e1ndez J (2019) Improving resource consumption in context- aware mobile applications through alternative architectural styles. IEEE Access 7:65228\u201365250. https:\/\/doi.org\/10.1109\/ACCESS.2019.2918239","journal-title":"IEEE Access"},{"issue":"3","key":"10391_CR62","doi-asserted-by":"publisher","first-page":"83","DOI":"10.1109\/MS.2015.83","volume":"33","author":"C Pang","year":"2016","unstructured":"Pang C, Hindle A, Adams B, Hassan AE (2016) What do programmers know about software energy consumption? IEEE Softw 33(3):83\u201389","journal-title":"IEEE Softw"},{"key":"10391_CR63","doi-asserted-by":"publisher","unstructured":"Park J, Park YB, Ham HK (2013) Fragmentation problem in android. In: 2013 international conference on information science and applications (ICISA), pp 1\u20132. https:\/\/doi.org\/10.1109\/ICISA.2013.6579465","DOI":"10.1109\/ICISA.2013.6579465"},{"key":"10391_CR64","doi-asserted-by":"publisher","unstructured":"Pathak A, Hu YC, Zhang M, Bahl P, Wang YM (2011) Fine-grained power modeling for smartphones using system call tracing. In: Proceedings of the sixth conference on computer systems, EuroSys \u201911. ACM, New York, NY, USA, pp 153\u2013168. https:\/\/doi.org\/10.1145\/1966445.1966460","DOI":"10.1145\/1966445.1966460"},{"key":"10391_CR65","doi-asserted-by":"publisher","first-page":"110463","DOI":"10.1016\/j.jss.2019.110463","volume":"161","author":"R Pereira","year":"2020","unstructured":"Pereira R, Car\u00e7\u00e3o T, Couto M, Cunha J, Fernandes JP, Saraiva J (2020) Spelling out energy leaks: aiding developers locate energy inefficient code. J Syst Softw 161:110463","journal-title":"J Syst Softw"},{"key":"10391_CR66","doi-asserted-by":"crossref","unstructured":"Pereira R, Couto M, Cunha J, Fernandes JP, Saraiva J (2016) The influence of the java collection framework on overall energy consumption. In: 2016 IEEE\/ACM 5th international workshop on green and sustainable software (GREENS). IEEE, pp 15\u201321","DOI":"10.1145\/2896967.2896968"},{"key":"10391_CR67","doi-asserted-by":"publisher","unstructured":"Pereira R, Couto M, Ribeiro F, Rua R, Cunha J, Fernandes JAP, Saraiva JA (2017) Energy efficiency across programming languages: how do energy, time, and memory relate? In: Proceedings of the 10th ACM SIGPLAN international conference on software language engineering, SLE 2017. ACM, New York, NY, USA, pp 256\u2013267. https:\/\/doi.org\/10.1145\/3136014.3136031","DOI":"10.1145\/3136014.3136031"},{"key":"10391_CR68","doi-asserted-by":"crossref","unstructured":"Pereira R, Couto M, Ribeiro F, Rua R, Cunha J, Fernandes JP, Saraiva J (2021) Ranking programming languages by energy efficiency. Sci Comput Program 102609","DOI":"10.1016\/j.scico.2021.102609"},{"key":"10391_CR69","doi-asserted-by":"crossref","unstructured":"Pereira R, Matalonga H, Couto M, Castor F, Cabral B, Carvalho P, de Sousa SM, Fernandes JA (2020) Greenhub: a large-scale collaborative dataset to battery consumption analysis of android devices. Empir Softw Eng","DOI":"10.1007\/s10664-020-09925-5"},{"key":"10391_CR70","doi-asserted-by":"publisher","unstructured":"Pereira R, Sim\u00e3o P, Cunha J, Saraiva JA (2018) jstanley: placing a green thumb on Java collections. In: Proceedings of the 33rd ACM\/IEEE international conference on automated software engineering, ASE 2018. ACM, New York, NY, USA, pp 856\u2013859. https:\/\/doi.org\/10.1145\/3238147.3240473","DOI":"10.1145\/3238147.3240473"},{"key":"10391_CR71","doi-asserted-by":"publisher","unstructured":"Peters M, Scoccia GL, Malavolta I (2021) How does migrating to Kotlin impact the run-time efficiency of android apps? In: 2021 IEEE 21st international working conference on source code analysis and manipulation (SCAM), pp 36\u201346. https:\/\/doi.org\/10.1109\/SCAM52516.2021.00014","DOI":"10.1109\/SCAM52516.2021.00014"},{"issue":"12","key":"10391_CR72","doi-asserted-by":"publisher","first-page":"68","DOI":"10.1145\/3154384","volume":"60","author":"G Pinto","year":"2017","unstructured":"Pinto G, Castor F (2017) Energy efficiency: a new concern for application software developers. Commun ACM 60(12):68\u201375","journal-title":"Commun ACM"},{"key":"10391_CR73","doi-asserted-by":"crossref","unstructured":"Pinto G, Castor F, Liu YD (2014) Mining questions about software energy consumption. In: Proceedings of the 11th working conference on mining software repositories. ACM, pp 22\u201331","DOI":"10.1145\/2597073.2597110"},{"key":"10391_CR74","unstructured":"Qualcomm (2014) Qualcomm forum - which mobile devices report accurate system power consumption? https:\/\/developer.qualcomm.com\/forum\/qdn-forums\/software\/trepn-power-profiler\/28349. Accessed 10 Feb 2021"},{"key":"10391_CR75","unstructured":"Rea L, Parker RA, Allen R (2016) Designing and conducting survey research. Jossey-Bass Publishers"},{"key":"10391_CR76","doi-asserted-by":"publisher","unstructured":"Ribeiro A, Ferreira JF, Mendes A (2021) Ecoandroid: an android studio plugin for developing energy-efficient Java mobile applications. In: 2021 IEEE 21st international conference on software quality, reliability and security (QRS), pp 62\u201369. https:\/\/doi.org\/10.1109\/QRS54544.2021.00017","DOI":"10.1109\/QRS54544.2021.00017"},{"key":"10391_CR77","unstructured":"Richter F (2019) The most wanted smartphone features. https:\/\/www.statista.com\/chart\/5995\/the-most-wanted-smartphone-features. Accessed 10 Feb 2021"},{"key":"10391_CR78","unstructured":"Rua R (2022) Online appendix. https:\/\/sites.google.com\/view\/perf-guidelining-appendix. Accessed 22 Nov 2022"},{"key":"10391_CR79","unstructured":"Rua R, Couto M, Pinto A, Cunha J, Saraiva J (2019) Towards using memoization for saving energy in android. In: Mar\u00edn B, Brito IS, Mora MK, Malucelli A, Serral E, Giachetti G, Ara\u00fajo J, Goul\u00e3o M, Ayala CP, Genero M, Souza VS (eds) Proceedings of the XXII Iberoamerican conference on software engineering, CIbSE 2019, La Habana, Cuba, April 22\u201326, 2019, pp 279\u2013292. Curran Associates"},{"key":"10391_CR80","doi-asserted-by":"publisher","unstructured":"Rua R, Couto M, Saraiva J (2019) Greensource: a large-scale collection of android code, tests and energy metrics. In: 2019 IEEE\/ACM 16th international conference on mining software repositories (MSR), pp 176\u2013180. https:\/\/doi.org\/10.1109\/MSR.2019.00035","DOI":"10.1109\/MSR.2019.00035"},{"key":"10391_CR81","doi-asserted-by":"publisher","unstructured":"Rua R, Fraga T, Couto M, Saraiva JA (2020) Greenspecting android virtual keyboards. In: Proceedings of the IEEE\/ACM 7th international conference on mobile software engineering and systems, MOBILESoft \u201920. Association for Computing Machinery, New York, NY, USA, pp 98\u2013108. https:\/\/doi.org\/10.1145\/3387905.3388600","DOI":"10.1145\/3387905.3388600"},{"key":"10391_CR82","doi-asserted-by":"publisher","unstructured":"Rua R, Saraiva JA (2022) E-manafa: energy monitoring and analysis tool for android. ASE22. Association for Computing Machinery, New York, NY, USA. https:\/\/doi.org\/10.1145\/3551349.3561342","DOI":"10.1145\/3551349.3561342"},{"key":"10391_CR83","doi-asserted-by":"publisher","unstructured":"Sadeghi A, Jabbarvand R, Malek S (2017) Patdroid: permission-aware GUI testing of android. In: Proceedings of the 2017 11th joint meeting on foundations of software engineering, ESEC\/FSE 2017. Association for Computing Machinery, New York, NY, USA, pp 220\u2013232. https:\/\/doi.org\/10.1145\/3106237.3106250","DOI":"10.1145\/3106237.3106250"},{"key":"10391_CR84","doi-asserted-by":"publisher","unstructured":"Sahin C, Tornquist P, Mckenna R, Pearson Z, Clause J (2014) How does code obfuscation impact energy usage? In: 2014 IEEE international conference on software maintenance and evolution, pp 131\u2013140. https:\/\/doi.org\/10.1109\/ICSME.2014.35","DOI":"10.1109\/ICSME.2014.35"},{"key":"10391_CR85","doi-asserted-by":"publisher","unstructured":"Scalabrino S, Bavota G, Linares-V\u00e1squez M, Piantadosi V, Lanza M, Oliveto R (2020) API compatibility issues in android: causes and effectiveness of data-driven detection techniques. Empir Softw Eng 25:5006\u20135046. https:\/\/doi.org\/10.1007\/s10664-020-09877-w","DOI":"10.1007\/s10664-020-09877-w"},{"key":"10391_CR86","doi-asserted-by":"publisher","unstructured":"Schlachter F (2013) No Moore\u2019s law for batteries. Proc Natl Acad Sci 110(14):5273\u20135273. https:\/\/doi.org\/10.1073\/pnas.1302988110. https:\/\/www.pnas.org\/content\/110\/14\/5273","DOI":"10.1073\/pnas.1302988110"},{"issue":"3\u20134","key":"10391_CR87","doi-asserted-by":"publisher","first-page":"591","DOI":"10.1093\/biomet\/52.3-4.591","volume":"52","author":"SS Shapiro","year":"1965","unstructured":"Shapiro SS, Wilk MB (1965) An analysis of variance test for normality (complete samples). Biometrika 52(3\u20134):591\u2013611. https:\/\/doi.org\/10.1093\/biomet\/52.3-4.591","journal-title":"Biometrika"},{"key":"10391_CR88","doi-asserted-by":"crossref","unstructured":"Spearman C (1904) The proof and measurement of association between two things. Am J Psychol 15(1):72\u2013101. http:\/\/www.jstor.org\/stable\/1412159","DOI":"10.2307\/1412159"},{"issue":"2","key":"10391_CR89","doi-asserted-by":"publisher","first-page":"41","DOI":"10.1109\/MCSE.2017.29","volume":"19","author":"TN Theis","year":"2017","unstructured":"Theis TN, Wong HP (2017) The end of Moore\u2019s law: a new beginning for information technology. Comput Sci Eng 19(2):41\u201350. https:\/\/doi.org\/10.1109\/MCSE.2017.29","journal-title":"Comput Sci Eng"},{"key":"10391_CR90","unstructured":"Thorwart A, O\u2019Neill D (2017) Camera and battery features continue to drive consumer satisfaction of smartphones in US. https:\/\/www.prnewswire.com\/news-releases\/camera-and-battery-features-continue-to-drive-consumer-satisfaction-of-smartphones-in-us-300466220.html. Accessed 10 Feb 2021"},{"key":"10391_CR91","doi-asserted-by":"publisher","unstructured":"Vilkomir S, Amstutz B (2014) Using combinatorial approaches for testing mobile applications. In: 2014 IEEE seventh international conference on software testing, verification and validation workshops, pp 78\u201383. https:\/\/doi.org\/10.1109\/ICSTW.2014.9","DOI":"10.1109\/ICSTW.2014.9"},{"key":"10391_CR92","unstructured":"Yamane T (1973) Statistics. an introductory analysis, 3rd edn. Harper International edition. Harper & Row. https:\/\/books.google.co.jp\/books?id=sl75MgEACAAJ"},{"key":"10391_CR93","doi-asserted-by":"publisher","unstructured":"Zeng Y, Chen J, Shang W, Chen THP (2019) Studying the characteristics of logging practices in mobile apps: a case study on f-droid. Empir Softw Eng 24. https:\/\/doi.org\/10.1007\/s10664-019-09687-9","DOI":"10.1007\/s10664-019-09687-9"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-023-10391-y.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10664-023-10391-y\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-023-10391-y.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,3,27]],"date-time":"2024-03-27T13:33:22Z","timestamp":1711546402000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10664-023-10391-y"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,12,27]]},"references-count":93,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2024,1]]}},"alternative-id":["10391"],"URL":"https:\/\/doi.org\/10.1007\/s10664-023-10391-y","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"value":"1382-3256","type":"print"},{"value":"1573-7616","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,12,27]]},"assertion":[{"value":"6 September 2023","order":1,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"27 December 2023","order":2,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declarations"}},{"value":"The authors declare that they have no conflict of interest.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Conflict of interest"}}],"article-number":"31"}}