Energy inefficiency diagnosis for Android applications: a literature review

Yuxia SUN, Jiefeng FANG, Yanjia CHEN, Yepang LIU, Zhao CHEN, Song GUO, Xinkai CHEN, Ziyuan TAN

Front. Comput. Sci. ›› 2023, Vol. 17 ›› Issue (1) : 171201.

PDF(3970 KB)
PDF(3970 KB)
Front. Comput. Sci. ›› 2023, Vol. 17 ›› Issue (1) : 171201. DOI: 10.1007/s11704-021-0532-4
Software
REVIEW ARTICLE

Energy inefficiency diagnosis for Android applications: a literature review

Author information +
History +

Abstract

Android applications are becoming increasingly powerful in recent years. While their functionality is still of paramount importance to users, the energy efficiency of these applications is also gaining more and more attention. Researchers have discovered various types of energy defects in Android applications, which could quickly drain the battery power of mobile devices. Such defects not only cause inconvenience to users, but also frustrate Android developers as diagnosing the energy inefficiency of a software product is a non-trivial task. In this work, we perform a literature review to understand the state of the art of energy inefficiency diagnosis for Android applications. We identified 55 research papers published in recent years and classified existing studies from four different perspectives, including power estimation method, hardware component, types of energy defects, and program analysis approach. We also did a cross-perspective analysis to summarize and compare our studied techniques. We hope that our review can help structure and unify the literature and shed light on future research, as well as drawing developers' attention to build energy-efficient Android applications.

Graphical abstract

Keywords

Android applications / energy defects / energy inefficiency diagnosis

Cite this article

Download citation ▾
Yuxia SUN, Jiefeng FANG, Yanjia CHEN, Yepang LIU, Zhao CHEN, Song GUO, Xinkai CHEN, Ziyuan TAN. Energy inefficiency diagnosis for Android applications: a literature review. Front. Comput. Sci., 2023, 17(1): 171201 https://doi.org/10.1007/s11704-021-0532-4

Yuxia Sun received the BS degree from the Department of Computer Science, Huazhong University of Science and Technology, China and the PhD degree from the Department of Computer Science, Sun Yat-sen University, China. She is currently an Associate Professor with the Department of Computer Science, Jinan University, China. She was a Research Associate with Hong Kong Polytechnic University, China, and the University of Hong Kong, China and a Research Scholar with the College of Computing, Georgia Institute of Technology, USA. Her current research interests include software engineering, software safety, and system safety

Jiefeng Fang received the BS degree in computer science from South China Agricultural University, China. She is currently a master student in the Department of Computer Science, Jinan University, China. Her research interests include software testing and software safety

Yanjia Chen received the MS degree in computer science from Jinan University, China. Her research interests include software testing and software safety

Yepang Liu received the doctoral degree in computer science and engineering from The Hong Kong University of Science and Technology (HKUST), China. In 2018, he joined the Department of Computer Science and Engineering of the Southern University of Science and Technology (SUSTech), China as a tenure-track assistant professor. His research interests include software testing and analysis, empirical software engineering, cyber-physical systems, mobile computing, and cybersecurity. He published widely in top software engineering venues and has received three ACM SIGSOFT Distinguished Paper Awards. He also participates actively in program and organizing committees of major international conferences and received ACM SIGSOFT Service Award for his contribution to the successful organization of the 22nd ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE 2014)

Zhao Chen is currently a master student in the Department of Computer Science, Jinan University, China. His current research interests include software testing

Song Guo received the PhD degree in computer science from the University of Ottawa, Canada in 2005. He was a Professor with The University of Aizu, Japan. He is currently a Full Professor and the Associate Head with the Department of Computing, The Hong Kong Polytechnic University, China. His research interests are mainly in the areas of big data, edge AI, cloud computing, mobile computing, and distributed systems. Prof. Guo was an IEEE ComSoc Distinguished Lecturer from 2017 to 2018 and served on the IEEE ComSoc Board of Governors from 2018 to 2019. He has also served as the general and the program chair for numerous IEEE conferences. He is a fellow of the Canadian Academy of Engineering. He was a recipient of the 2019 IEEE TCBD Best Conference Paper Award, the 2018 IEEE TCGCC Best Magazine Paper Award, the 2017 IEEE SYSTEMS JOURNAL Annual Best Paper Award, and other six best paper awards from the IEEE/ACM conferences. His work was also recognized by the 2016 Annual Best of Computing: Notable Books and Articles in Computing in ACM Computing Reviews. He is the Editor-in-Chief of the IEEE Open Journal of the Computer Society and an Associate Editor of the IEEE Transactions on Cloud Computing, the IEEE Transactions on Sustainable Computing, and the IEEE Transactions on Green Communications and Networking

Xinkai Chen received the BS degree in computer science from Jinan University, China. His research interest is software testing

Ziyuan Tan received the BS degree in computer science from Jinan University, China. His current research interests include software safety and computer vision

References

[1]
PathakA, HuY C, ZhangM. Bootstrapping energy debugging on smartphones: a first look at energy bugs in mobile devices. In: Proceedings of the 10th ACM Workshop on Hot Topics in Networks. 2011, 5
[2]
ZhangL, TiwanaB, DickR P, QianZ, MaoZ M, WangZ, YangL. Accurate online power estimation and automatic battery behavior based power model generation for smartphones. In: Proceedings of 2010 IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis. 2010, 105−114
[3]
LiD, HaoS, HalfondW G J, GovindanR. Calculating source line level energy information for Android applications. In: Proceedings of 2013 International Symposium on Software Testing and Analysis. 2013, 78−89
[4]
Hoque M A , Siekkinen M , Khan K N , Xiao Y , Tarkoma S . Modeling, profiling, and debugging the energy consumption of mobile devices. ACM Computing Surveys, 2016, 48( 3): 39–
[5]
Ahmad R W , Gani A , Hamid S H A , Shojafar M , Ahmed A I A , Madani S A , Saleem K , Rodrigues J J P C . A survey on energy estimation and power modeling schemes for smartphone applications. International Journal of Communication Systems, 2017, 30( 11): e3234–
[6]
Hoque M A , Siekkinen M , Nurminen J K . Energy efficient multimedia streaming to mobile devices—a survey. IEEE Communications Surveys & Tutorials, 2014, 16( 1): 579– 597
[7]
Benkhelifa E , Welsh T , Tawalbeh L , Jararweh Y , Basalamah A . Energy optimisation for mobile device power consumption: a survey and a unified view of modelling for a comprehensive network simulation. Mobile Networks and Applications, 2016, 21( 4): 575– 588
[8]
Ahmad R W , Gani A , Hamid S H A , Xia F , Shiraz M . A review on mobile application energy profiling: taxonomy, state-of-the-art, and open research issues. Journal of Network and Computer Applications, 2015, 58 : 42– 59
[9]
JiangH, YangH, QinS, SuZ, ZhangJ, YanJ. Detecting energy bugs in Android apps using static analysis. In: Proceedings of the 19th International Conference on Formal Engineering Methods. 2017, 192−208
[10]
KunduA, LinZ, HammondJ. Energy attacks on mobile devices. In: Proceedings of the 2nd IEEE International Conference on Trust, Privacy and Security in Intelligent Systems and Applications. 2020, 107−117
[11]
Vallina-Rodriguez N , Crowcroft J . Energy management techniques in modern mobile handsets. IEEE Communications Surveys & Tutorials, 2013, 15( 1): 179– 198
[12]
OliveiraW, OliveiraR, CastorF. A study on the energy consumption of android app development approaches. In: Proceedings of the 14th International Conference on Mining Software Repositories. 2017, 42−52
[13]
KurtzK, NoguezM, ZaniniF, FerreiraP R, BrisolaraL. Comparing performance and energy consumption of Android applications: native versus web approaches. In: Proceedings of 2017 VII Brazilian Symposium on Computing Systems Engineering. 2017, 147−154
[14]
Ciman M , Gaggi O . An empirical analysis of energy consumption of cross-platform frameworks for mobile development. Pervasive and Mobile Computing, 2017, 39 : 214– 230
[15]
Yang H , Jiang H , Qin S , Zhang J , Yan J . Survey on energy bug analysis technology of Android applications. Computer Applications and Software, 2016, 33( 9): 1– 6, 37
[16]
Li L , Bissyande T F , Papadakis M , Rasthofer S , Bartel A , Octeau D , Klein J , Traon L . Static analysis of Android apps: a systematic literature review. Information and Software Technology, 2017, 88 : 67– 95
[17]
Mehrotra D , Srivastava R , Nagpal R , Nagpal D . Multiclass classification of mobile applications as per energy consumption. Journal of King Saud University - Computer and Information Sciences, 2021, 33( 6): 719– 727
[18]
Al Nidawi H S A , Wei K T , Dawood K A , Khaleel A . Energy consumption patterns of mobile applications in Android platform: a systematic literature review. Journal of Theoretical and Applied Information Technology, 2017, 95( 24): 6776– 6787
[19]
ElliotJ, KorA, OmotoshoO A. Energy consumption in smartphones: an investigation of battery and energy consumption of media related applications on Android smartphones. In: Proceedings of International Seeds Conference. 2017
[20]
ZamanN, AlmusalliF A. Review: smartphones power consumption & energy saving techniques. In: Proceedings of 2017 International Conference on Innovations in Electrical Engineering and Computational Technologies. 2017, 1−7
[21]
AlmasriA, GouveiaL B. Analyzing and evaluating the amount of power consumption used by current power-saving-applications on Android smartphones. Technology, Networks and Society Group, 2019
[22]
AlmasriA M, GouveiaL B. Reviewing the efficiency of current power-saving approaches used among different stages of an Android-application lifecycle. Porto: University Fernando Pessoa, 2019
[23]
WohlinC. Guidelines for snowballing in systematic literature studies and a replication in software engineering. In: Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering. 2014, 38
[24]
ChenJ Y. Mobile energy bug diagnosis. The Ohio State University, Dissertation, 2013
[25]
Sun Y , Chen J , Tang Y , Chen Y . Energy modeling of IoT mobile terminals on WiFi environmental impacts. Sensors, 2018, 18( 6): 1728–
[26]
BanerjeeA, ChongL K, ChattopadhyayS, RoychoudhuryA. Detecting energy bugs and hotspots in mobile apps. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. 2014, 588−598
[27]
KimC H P, KroeningD, KwiatkowskaM. Static program analysis for identifying energy bugs in graphics-intensive mobile apps. In: Proceedings of the 24th IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems. 2016, 115−124
[28]
AnwerS, AggarwalA, PurandareR, NaikV. Chiromancer: a tool for boosting Android application performance. In: Proceedings of the 1st International Conference on Mobile Software Engineering and Systems. 2014, 62−65
[29]
GaoX, LiuD, LiuD, WangH, StavrouA. E-android: a new energy profiling tool for smartphones. In: Proceedings of the 37th IEEE International Conference on Distributed Computing Systems. 2017, 492−502
[30]
NucciD D, PalombaF, ProtaA, PanichellaA, ZaidmanA, LuciaA D. Software-based energy profiling of Android apps: simple, efficient and reliable? In: Proceedings of the 24th IEEE International Conference on Software Analysis, Evolution and Reengineering. 2017, 103−114
[31]
GuoC, ZhangJ, YanJ, ZhangZ, ZhangY. Characterizing and detecting resource leaks in Android applications. In: Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering. 2013, 389−398
[32]
AlamF, PandaP R, TripathiN, SharmaN, NarayanS. Energy optimization in Android applications through wakelock placement. In: Proceedings of Conference on Design, Automation & Test in Europe. 2014, 88
[33]
LiX, YangY, LiuY, GallagherJ P, WuK. Detecting and diagnosing energy issues for mobile applications. In: Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis. 2020, 115−127
[34]
NagataK, YamaguchiS, OgawaH. A power saving method with consideration of performance in Android terminals. In: Proceedings of the 9th International Conference on Ubiquitous Intelligence and Computing and 9th International Conference on Autonomic and Trusted Computing. 2012, 578−585
[35]
CruzL, AbreuR. Performance-based guidelines for energy efficient mobile applications. In: Proceedings of the 4th IEEE/ACM International Conference on Mobile Software Engineering and Systems. 2017, 46−57
[36]
WangC, GuoY, ShenP, ChenX. E-spector: online energy inspection for Android applications. In: Proceedings of 2017 IEEE/ACM International Symposium on Low Power Electronics and Design. 2017, 1−6
[37]
VekrisP, JhalaR, LernerS, AgarwalY. Towards verifying Android apps for the absence of no-sleep energy bugs. In: Proceedings of 2012 USENIX Conference on Power-Aware Computing and Systems. 2012, 3
[38]
RajaramanS V, SiekkinenM, HoqueM A. Energy consumption anatomy of live video streaming from a smartphone. In: Proceedings of the 25th IEEE Annual International Symposium on Personal, Indoor, and Mobile Radio Communication. 2014, 2013−2017
[39]
LiD, LyuY J, GuiJ, HalfondW G J. Automated energy optimization of http requests for mobile applications. In: Proceedings of the 38th IEEE/ACM International Conference on Software Engineering. 2016, 249−260
[40]
OlinerA J, IyerA, LagerspetzE, TarkomaS, StoicaI. Collaborative energy debugging for mobile devices. In: Proceedings of the 8th Workshop on Hot Topics in System Dependability. 2012, 6
[41]
LiuY, XuC, CheungS C. Where has my battery gone? Finding sensor related energy black holes in smartphone applications. In: Proceedings of 2013 IEEE International Conference on Pervasive Computing and Communications. 2013, 2−10
[42]
Chowdhury S A , Sapra V , Hindle A . Is http/2 more energy efficient than http/1.1 for mobile users?. PeerJ PrePrints, 2015, 3 : e1280v1–
[43]
PathakA, JindalA, HuY C, MidkiffS P. What is keeping my phone awake?: Characterizing and detecting no-sleep energy bugs in smartphone apps. In: Proceedings of the 10th International Conference on Mobile Systems, Applications, and Services. 2012, 267−280
[44]
JindalA, PathakA, HuY C, MidkiffS. Hypnos: understanding and treating sleep conflicts in smartphones. In: Proceedings of the 8th ACM European Conference on Computer Systems. 2013, 253−266
[45]
GottschalkM, JosefiokM, JelschenJ, WinterA. Removing energy code smells with reengineering services. In: Proceedings of INFORMATIK Conference. 2012
[46]
Li Q , Xu C , Liu Y , Cao C , Ma X , Lü J . Cyandroid: stable and effective energy inefficiency diagnosis for Android apps. Science China Information Sciences, 2017, 60( 1): 012104–
[47]
BanerjeeA, RoychoudhuryA. Automated re-factoring of Android apps to enhance energy-efficiency. In: Proceedings of International Conference on Mobile Software Engineering and Systems. 2016, 139−150
[48]
BanerjeeA, GuoH F, RoychoudhuryA. Debugging energy-efficiency related field failures in mobile apps. In: Proceedings of the 2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems. 2016, 127−138
[49]
GottschalkM, JelschenJ, WinterA. Saving energy on mobile devices by refactoring. In: Proceedings of the 28th EnviroInfo 2014 Conference. 2014, 437−444
[50]
LiD, HaoS, GuiJ, HalfondW G J. An empirical study of the energy consumption of Android applications. In: Proceedings of 2014 IEEE International Conference on Software Maintenance and Evolution. 2014, 121−130
[51]
WangJ, WuG, WuX, WeiJ. Detect and optimize the energy consumption of mobile app through static analysis: an initial research. In: Proceedings of the 4th Asia-Pacific Symposium on Internetware. 2012, 22
[52]
Noureddine A , Rouvoy R , Seinturier L . Monitoring energy hotspots in software: energy profiling of software code. Automated Software Engineering, 2015, 22( 3): 291– 332
[53]
Linares-VásquezM, BavotaG, Bernal-CárdenasC, OlivetoR, DiPenta M, PoshyvanykD. Mining energy-greedy API usage patterns in Android apps: an empirical study. In: Proceedings of the 11th Working Conference on Mining Software Repositories. 2014, 2−11
[54]
WuH, YangS, RountevA. Static detection of energy defect patterns in Android applications. In: Proceedings of the 25th International Conference on Compiler Construction. 2016, 185−195
[55]
Banerjee A , Chong L K , Ballabriga C , Roychoudhury A . Energypatch: repairing resource leaks to improve energy-efficiency of Android apps. IEEE Transactions on Software Engineering, 2018, 44( 5): 470– 490
[56]
WuT, LiuJ, DengX, YanJ, ZhangJ. Relda2: an effective static analysis tool for resource leak detection in Android apps. In: Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering. 2016, 762−767
[57]
LiuY, WangJ, XuC, MaX. NavyDroid: detecting energy inefficiency problems for smartphone applications. In: Proceedings of the 9th Asia-Pacific Symposium on Internetware. 2017, 8
[58]
GuiJ, McilroyS, NagappanM, HalfondW G J. Truth in advertising: the hidden cost of mobile ads for software developers. In: Proceedings of the 37th IEEE/ACM IEEE International Conference on Software Engineering. 2015, 100−110
[59]
PatilP S, DoshiJ, AmbawadeD. Reducing power consumption of smart device by proper management of wakelocks. In: Proceedings of 2015 IEEE International Advance Computing Conference. 2015, 883−887
[60]
Wu T , Liu J , Xu Z , Guo C , Zhang Y , Yan J , Zhang J . Light-weight, inter-procedural and callback-aware resource leak detection for Android apps. IEEE Transactions on Software Engineering, 2016, 42( 11): 1054– 1076
[61]
Liu Y , Xu C , Cheung S C , Lü J . GreenDroid: automated diagnosis of energy inefficiency for smartphone applications. IEEE Transactions on Software Engineering, 2014, 40( 9): 911– 940
[62]
LiuY, XuC, CheungS C, TerragniV. Understanding and detecting wake lock misuses for Android applications. In: Proceedings of the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering. 2016, 396−409
[63]
Liu Y , Xu C , Cheung S C . Diagnosing energy efficiency and performance for mobile internetware applications. IEEE Software, 2015, 32( 1): 67– 75
[64]
ZhangL, GordonM S, DickR P, MaoZ M, DindaP, YangL. ADEL: an automatic detector of energy leaks for smartphone applications. In: Proceedings of the 8th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis. 2012, 363−372
[65]
YanD, YangS, RountevA. Systematic testing for resource leaks in Android applications. In: Proceedings of the 24th IEEE International Symposium on Software Reliability Engineering. 2013, 411−420
[66]
WangX, LiX, WenW. WLCleaner: reducing energy waste caused by wakelock bugs at runtime. In: Proceedings of the 12th IEEE International Conference on Dependable, Autonomic and Secure Computing. 2014, 429−434
[67]
Chen X , Ding N , Jindal A , Hu Y C , Gupta M , Vannithamby R . Smartphone energy drain in the wild: analysis and implications. ACM SIGMETRICS Performance Evaluation Review, 2015, 43( 1): 151– 164
[68]
ParkS, KimD, ChaH. Reducing energy consumption of alarm-induced wake-ups on Android smartphones. In: Proceedings of the 16th International Workshop on Mobile Computing Systems and Applications. 2015, 33−38
[69]
CaretteA, YounesM A A, HechtG, MohaN, RouvoyR. Investigating the energy impact of Android smells. In: Proceedings of the 24th IEEE International Conference on Software Analysis, Evolution and Reengineering. 2017, 115−126
[70]
FerrariA, GallucciD, PuccinelliD, GiordanoS. Detecting energy leaks in Android app with POEM. In: Proceedings of 2015 IEEE International Conference on Pervasive Computing and Communication Workshops. 2015, 421−426
[71]
Zhu C , Zhu Z , Xie Y , Jiang W , Zhang G . Evaluation of machine learning approaches for Android energy bugs detection with revision commits. IEEE Access, 2019, 7 : 85241– 85252
[72]
LiuA, XuJ, WangW, YuJ, GaoH. Automated testing of energy hotspots and defects for Android applications. In: Proceedings of 2019 IEEE International Conference on Energy Internet. 2019, 374−379
[73]
JabbarvandR, LinJ W, MalekS. Search-based energy testing of Android. In: Proceedings of the 41st IEEE/ACM International Conference on Software Engineering. 2019, 1119−1130
[74]
Wan M , Jin Y , Li D , Gui J , Mahajan S , Halfond W G J . Detecting display energy hotspots in Android apps. Software Testing, Verification and Reliability, 2017, 27( 6): e1635–
[75]
JindalA, PathakA, HuY C, MidkiffS. On death, taxes, and sleep disorder bugs in smartphones. In: Proceedings of Workshop on Power-Aware Computing and Systems. 2013, 1
[76]
CruzL, AbreuR. Using automatic refactoring to improve energy efficiency of Android apps. In: Proceedings of the 21st Iberoamerican Conference on Software Engineering. 2018
[77]
Liu Y , Wang J , Wei L , Xu C , Cheung S C , Wu T , Yan J , Zhang J . DROIDLEAKS: a comprehensive database of resource leaks in Android apps. Empirical Software Engineering, 2019, 24( 6): 3435– 3483
[78]
Mirzaei H , Heydarnoori A . Localizing exception faults in Android applications. Scientia Iranica, 2019, 26( 3): 1567– 1588
[79]
GastelP, GastelB, EekelenM. Detecting energy bugs and hotspots in control software using model checking. In: Programming'18 Companion: Conference Companion of the 2nd International Conference on Art, Science, and Engineering of Programming. 2018, 93−98
[80]
LiuY, XuC, CheungS C. Characterizing and detecting performance bugs for smartphone applications. In: Proceedings of the 36th International Conference on Software Engineering. 2014, 1013−1024

Acknowledgements

This work was supported by the Guangdong Basic and Applied Basic Research Foundation (2021A1515012297), the Shenzhen Science and Technology Innovation Commission (R2020A045), and the Open Project of Guangdong Provincial Key Laboratory of High-Performance Computing(2021).

RIGHTS & PERMISSIONS

2021 Higher Education Press 2021
AI Summary AI Mindmap
PDF(3970 KB)

Accesses

Citations

Detail

Sections
Recommended

/