A systematic review on techniques and approaches to estimate mobile software energy consumption

Sustainable Computing: Informatics and Systems - Tập 41 - Trang 100919 - 2024
Andreas Schuler1,2, Gabriele Kotsis1
1Department of Telecooperation, Johannes Kepler University, Altenberger Straße 69, 4040 Linz, Austria
2Advanced Information Systems and Technology (AIST), University of Applied Sciences Upper Austria Hagenberg, Austria

Tài liệu tham khảo

Calero, 2021, Introduction to software sustainability, 1 Georgiou, 2019, Software development lifecycle for energy efficiency: techniques and tools, ACM Comput. Surv., 52, 1, 10.1145/3337773 Belkhir, 2018, Assessing ICT global emissions footprint: Trends to 2040 & recommendations, J. Clean. Prod., 177, 448, 10.1016/j.jclepro.2017.12.239 Pathak, 2012, Where is the energy spent inside my app?, 29 Ahmad, 2015, A Review on mobile application energy profiling: Taxonomy, state-of-the-art, and open research issues, J. Netw. Comput. Appl., 58, 42, 10.1016/j.jnca.2015.09.002 Petersen, 2008, Systematic mapping studies in software engineering, 68 S. Keele, Guidelines for Performing Systematic Literature Reviews in Software Engineering, Technical Report, 2007. Hoque, 2015, Modeling, profiling, and debugging the energy consumption of mobile devices, ACM Comput. Surv., 48, 10.1145/2840723 Salam, 2018, Challenges in the development of green and sustainable software for software multisourcing vendors: Findings from a systematic literature review and industrial survey, J. Softw.: Evol. Process, 30 Garcia-Mireles, 2018, Interactions between environmental sustainability goals and software product quality: A mapping study, Inf. Softw. Technol., 95, 10.1016/j.infsof.2017.10.002 Fatima, 2020, Tool support for green Android development: A systematic mapping study, 409 Aggarwal, 2014, The power of system call traces - predicting the software energy consumption impact of changes, CASCON Kitchenham, 2009, Systematic literature reviews in software engineering–A systematic literature review, Inf. Softw. Technol., 51, 7, 10.1016/j.infsof.2008.09.009 Pinto, 2017, Energy efficiency: A new concern for application software developers, Commun. ACM, 60, 68, 10.1145/3154384 Rocha, 2019 Oliveira, 2019, Recommending energy-efficient Java collections Hasan, 2016, Energy profiles of Java collections classes Moreira, 2020, A systematic mapping on energy efficiency testing in Android applications Kitchenham, 2011 Shepperd, 2009, 46 Li, 2013, Calculating source line level energy information for Android applications, 78 Di Nucci, 2017, Software-based energy profiling of Android apps: Simple, efficient and reliable?, 103 Schuler, 2022 Cruz, 2017, Performance-based guidelines for energy efficient mobile applications, 46 Wilke, 2012, Energy Labels for Mobile Applications., 412 Anwar, 2019, An investigation into the energy consumption of HTTP post request methods for Android app development Anwar, 2020, Should energy consumption influence the choice of Android third-party HTTP libraries? Swanborn, 2021, Robot runner: A tool for automatically executing experiments on robotics software Wilke, 2013, JouleUnit: A generic framework for software energy profiling and testing Amit, 2014 Hindle, 2014, GreenMiner: A hardware based mining software repositories software energy consumption framework, 12 Chowdhury, 2017, An exploratory study on assessing the energy impact of logging on Android applications, Empir. Softw. Eng., 57, 235 Ferrari, 2015, Detecting energy leaks in Android app with POEM, 421 Ciman, 2015, Measuring energy consumption of cross-platform frameworks for mobile applications, 331 Ciman, 2017, An empirical analysis of energy consumption of cross-platform frameworks for mobile development, Pervasive Mob. Comput., 39, 214, 10.1016/j.pmcj.2016.10.004 Linares-Vásquez, 2014, Mining energy-greedy API usage patterns in Android apps - an empirical study, MSR Carroll, 2013, The systems hacker’s guide to the galaxy energy usage in a modern smartphone, 1 Kapetanakis, 2012, Efficient energy consumption’s measurement on Android devices, 351 Carette, 2017, Investigating the energy impact of Android smells, 115 Rattagan, 2016, SEMI: Semi-online power estimates for smartphone hardware components, IEEE Trans. Sustain. Comput., 1, 54, 10.1109/TSUSC.2017.2651159 Dzhagaryan, 2016, An environment for automated measurement of energy consumed by mobile and embedded computing devices, Measurement, 94, 103, 10.1016/j.measurement.2016.07.073 Hindle, 2012, Green mining: A methodology of relating software change to power consumption, 78 Wang, 2016, Standby energy analysis and optimization for smartphones, 11 Ayala, 2019, An energy efficiency study of web-based communication in Android phones, Sci. Program., 2019, 1 Verdecchia, 2018 Gupta, 2014, Mining energy traces to aid in software development, 1 Baek, 2018, An energy efficiency grading system for mobile applications based on usage patterns, J. Supercomput., 74, 6502, 10.1007/s11227-018-2439-x Espada, 2015, Runtime verification of expected energy consumption in smartphones, 132 Banerjee, 2014, Detecting energy bugs and hotspots in mobile apps, 588 Bangash, 2021 Chowdhury, 2019, Greenbundle: An empirical study on the energy impact of bundled processing, 1107 Fischer, 2015, Sema: An approach based on internal measurement to evaluate energy efficiency of Android applications, 48 Li, 2014, An empirical study of the energy consumption of Android applications, 121 Malavolta, 2020, A framework for the automatic execution of measurement-based experiments on Android devices Bonetto, 2012, MPower: Towards an adaptive power management system for mobile devices, 318 Qian, 2018, Modeling smartphone energy consumption based on user behavior data Yan, 2019, Improving energy efficiency of mobile devices by characterizing and exploring user behaviors, J. Syst. Archit., 98, 10.1016/j.sysarc.2019.07.004 Murmuria, 2012, Mobile application and device power usage measurements, 147 Wang, 2013, Power estimation for mobile applications with profile-driven battery traces, ISLPED, 120 Zhang, 2010, Accurate online power estimation and automatic battery behavior based power model generation for smartphones, 105 Pathak, 2011, Fine-grained power modeling for smartphones using system call tracing, 153 Metri, 2012, A simplistic way for power profiling of mobile devices, 1 Jung, 2012, DevScope: A nonintrusive and online power analysis tool for smartphone hardware components, 353 Lee, 2014, Automated power model generation method for smartphones, IEEE Trans. Consum. Electron., 60, 190, 10.1109/TCE.2014.6851993 Li, 2014, Power behavior analysis of mobile applications using Bugu, Sustain. Comput.: Inf. Syst., 4, 183 Dolezal, 2014, Methodology and tool for energy consumption modeling of mobile devices, 34 Couto, 2015, GreenDroid: A tool for analysing power consumption in the Android ecosystem, 73 Kindelsberger, 2015, Long-term power demand recording of running mobile applications, 18 Gui, 2016, Lightweight measurement and estimation of mobile ad energy consumption, 1 Bokhari, 2018, In-vivo and offline optimisation of energy use in the presence of small energy signals – A case study on a popular Android library Neto, 2021, Building energy consumption models based on smartphone user’s usage patterns, Knowl.-Based Syst., 213, 10.1016/j.knosys.2020.106680 Pandey, 2019, Nature inspired power optimization in smartphones, Swarm Evol. Comput., 44, 470, 10.1016/j.swevo.2018.06.006 Corral, 2013, A method for characterizing energy consumption in Android smartphones, 38 Guo, 2017, Understanding application-battery interactions on smartphones: A large-scale empirical study, IEEE Access, 5, 13387, 10.1109/ACCESS.2017.2728620 Dao, 2017, TIDE: A user-centric tool for identifying energy hungry applications on smartphones, IEEE/ACM Trans. Netw., 25, 1459, 10.1109/TNET.2016.2639061 Altamimi, 2015, A computing profiling procedure for mobile developers to estimate energy cost, 301 Yoon, 2012, AppScope: Application energy metering framework for Android smartphone using kernel activity monitoring, 1 Lee, 2015, EnTrack: A system facility for analyzing energy consumption of Android system services, 191 Chowdhury, 2015, A system-call based model of software energy consumption without hardware instrumentation, 1 Aggarwal, 2015, GreenAdvisor: A tool for analyzing the impact of software evolution on energy consumption, 311 Chowdhury, 2016, GreenOracle: Estimating software energy consumption with energy measurement corpora, 49 Romansky, 2017, Deep Green: Modelling time-series of software energy consumption, 273 Chowdhury, 2018, GreenScaler: training software energy models with automatic test generation, Empir. Softw. Eng., 58, 1 Zhu, 2019, Evaluation of machine learning approaches for Android energy bugs detection with revision commits, IEEE Access, 7 Mittal, 2012, Empowering developers to estimate app energy consumption, 317 Duan, 2013, Energy analysis and prediction for applications on smartphones, J. Syst. Archit., 59, 1375, 10.1016/j.sysarc.2013.08.011 Brouwers, 2014, NEAT: A novel energy analysis toolkit for free-roaming smartphones, 16 Li, 2017, eDelta: Pinpointing energy deviations in smartphone apps via comparative trace analysis, 1 Bui, 2018, Generation of power state machine for android devices, 48 Li, 2018, Mobile ad prefetching and energy optimization via tail energy accounting, IEEE Trans. Mob. Comput., 18, 2117, 10.1109/TMC.2018.2873596 Rattagan, 2018, Clustering and symbolic regression for power consumption estimation on smartphone hardware subsystems, IEEE Trans. Sustain. Comput., 3, 306, 10.1109/TSUSC.2018.2832173 Bujari, 2019, Modeling the energy consumption of mobile apps Le, 2019, An approach to modeling and estimating power consumption of mobile applications, Mob Netw Appl, 24, 124, 10.1007/s11036-018-1138-4 Dash, 2021, How much battery does dark mode save?: An accurate OLED display power profiler for modern smartphones Le, 2021, Analyzing energy leaks of Android applications using event-b, Mob. Netw. Appl., 1 Rammos, 2021, The impact of instant messaging on the energy consumption of Android devices Barde, 2015, SEPIA: A framework for optimizing energy consumption in Android devices, 562 Liu, 2013, Where has my battery gone? Finding sensor related energy black holes in smartphone applications Wang, 2014, Lightweight online power monitoring and control for mobile applications, 486 Li, 2016, CyanDroid: CyanDroid: Stable and effective energy inefficiency diagnosis for Android apps, Sci. China Inf. Sci., 60, 1 Wang, 2016, E-greenDroid: effective energy inefficiency analysis for Android applications, 71 Wang, 2017, E-Spector: Online energy inspection for Android applications, 1 Abbasi, 2018, Characterization and detection of tail energy bugs in smartphones, IEEE Access, 6, 10.1109/ACCESS.2018.2877395 Li, 2020, EnergyDx: Diagnosing energy anomaly in mobile apps by identifying the manifestation point, 256 Liu, 2019, Automated testing of energy hotspots and defects for Android applications Hao, 2013, Estimating mobile application energy consumption using program analysis, 92 Lu, 2016, Lightweight method-level energy consumption estimation for Android applications, 144 Hu, 2017, Lightweight energy consumption analysis and prediction for Android applications, Sci. Comput. Program., 162, 132, 10.1016/j.scico.2017.05.002 Liu, 2018, Energy consumption fuzzy estimation for object-oriented code, IEEE Access, 6, 62664, 10.1109/ACCESS.2018.2877082 Jiang, 2017, Detecting energy bugs in Android apps using static analysis, 192 Kim, 2016, Static program analysis for identifying energy bugs in graphics-intensive mobile apps, 115 Li, 2020, Detecting and diagnosing energy issues for mobile applications, 115 Hao, 2012, Estimating Android applications’ CPU energy usage via bytecode profiling, GREENS, 1 Li, 2016, A source-level energy optimization framework for mobile applications, 31 Li, 2016, Fine-grained energy modeling for the source code of a mobile application, 180 Li, 2014, An investigation into energy-saving programming practices for Android smartphone app development, 46 Wu, 2016 Banerjee, 2016, Automated re-factoring of Android apps to enhance energy-efficiency, 139 Morales, 2017, EARMO: An energy-aware refactoring approach for mobile apps, IEEE Trans. Softw. Eng., 1 Palomba, 2018, On the impact of code smells on the energy consumption of mobile applications, Inf. Softw. Technol. Couto, 2020, Energy refactorings for Android in the large and in the wild, 217 Le Goaer, 2020 Pereira, 2020, SPELLing out energy leaks: Aiding developers locate energy inefficient code, J. Syst. Softw., 161, 10.1016/j.jss.2019.110463 Qasim, 2021, Evaluating the impact of design pattern usage on energy consumption of applications for mobile platform, Appl. Comput. Syst., 26, 1, 10.2478/acss-2021-0001 Cruz, 2019, Catalog of energy patterns for mobile applications, Empir. Softw. Eng., 1 Hindle, 2013, Green mining: A methodology of relating software change and configuration to power consumption, Empir. Softw. Eng., 20, 374, 10.1007/s10664-013-9276-6 Kin Keong, 2015, Toward using software metrics as indicator to measure power consumption of mobile application: A case study, 172 Bangash, 2017, A methodology for relating software structure with energy consumption, 111 Alvi, 2017, EnSights: A tool for energy aware software development, 1 Cruz, 2019, Do energy-oriented changes hinder maintainability? Sahar, 2019, Towards energy aware object-oriented development of Android applications, Sustain. Comput.: Inform. Syst., 21, 28 Couto, 2020, On energy debt: managing consumption on evolving software, 62 Alvi, 2021, MLEE: Method level energy estimation — A machine learning approach, Sustain. Comput.: Inf. Syst., 32 Gaska, 2018, MLStar: Machine learning in energy profile estimation of Android apps Liu, 2018, NavyDroid: An efficient tool of energy inefficiency problem diagnosis for Android applications, Sci. China Inf. Sci., 61, 267, 10.1007/s11432-017-9400-y Kjærgaard, 2012, Unsupervised power profiling for mobile devices, 138 Wang, 2012, Detect and optimize the energy consumption of mobile app through static analysis, 1 Jabbarvand, 2015, EcoDroid: An approach for energy-based ranking of Android apps, 8 Banerjee, 2016, Debugging energy-efficiency related field failures in mobile apps, 127 Westfield, 2016, Orka: A new technique to profile the energy usage of Android applications, 1 Ahmad, 2018, Enhancement and assessment of a code-analysis-based energy estimation framework, IEEE Syst. J. Manotas, 2014, SEEDS: A software engineer’s energy-optimization decision support framework, 503 Huang, 2016, DelayDroid: An instrumented approach to reducing tail-time energy of Android apps, Sci. China Inf. Sci., 60, 280 Wan, 2017, Detecting display energy hotspots in Android apps, Softw. Test. Verif. Reliab., 27, 10.1002/stvr.1635 Linares-Vásquez, 2018, Multi-objective optimization of energy consumption of guis in Android apps, ACM Trans. Softw. Eng. Methodol. (TOSEM), 27, 1, 10.1145/3241742 Zhang, 2012, ADEL: An automatic detector of energy leaks for smartphone applications, 363 Herbert, 2007, Analysis of dynamic voltage/frequency scaling in chip-multiprocessors, 38 F.B. Abreu, R. Carapuça, Object-oriented software engineering: Measuring and controlling the development process, in: Proceedings of the 4th International Conference on Software Quality, Vol. 186, 1994. Kim, 2012, Enhancing online power estimation accuracy for smartphones, IEEE Trans. Consum. Electron., 10.1109/TCE.2012.6227431 Dong, 2011, Self-constructive high-rate system energy modeling for battery-powered mobile systems, 335