{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,24]],"date-time":"2025-11-24T16:39:39Z","timestamp":1764002379351,"version":"3.41.0"},"reference-count":104,"publisher":"Association for Computing Machinery (ACM)","issue":"6","license":[{"start":{"date-parts":[[2020,12,6]],"date-time":"2020-12-06T00:00:00Z","timestamp":1607212800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Comput. Surv."],"published-print":{"date-parts":[[2021,11,30]]},"abstract":"<jats:p>The abnormal energy consumption of Android applications is a significant problem faced by developers and users. In recent years, researchers have invested their efforts to develop energy diagnosis tools that pinpoint and fix the energy bugs from source code automatically. These tools use traditional software engineering methods such as program analysis, refactoring, software repair, and bug localization to diagnose energy inefficiencies. Existing surveys focus only on energy measurement techniques and profiling tools and do not consider automated energy diagnosis tools. Therefore, this article organizes state of the art by surveying 25 relevant studies on Android applications\u2019 automatic energy diagnosis. Further, this survey presents a systematic thematic taxonomy of existing approaches from a software engineering perspective. The taxonomy presented in this article would serve as a body of knowledge and help researchers and developers to understand the state of the field better. The future research directions discussed in this article might help prospective researchers to identify suitable topics to improve the current research work in this field.<\/jats:p>","DOI":"10.1145\/3417986","type":"journal-article","created":{"date-parts":[[2020,12,6]],"date-time":"2020-12-06T22:23:20Z","timestamp":1607293400000},"page":"1-36","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["Energy Diagnosis of Android Applications"],"prefix":"10.1145","volume":"53","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-4905-0530","authenticated-orcid":false,"given":"Marimuthu","family":"C.","sequence":"first","affiliation":[{"name":"National Institute of Technology Karnataka, India"}]},{"given":"K.","family":"Chandrasekaran","sequence":"additional","affiliation":[{"name":"National Institute of Technology Karnataka, India"}]},{"given":"Sridhar","family":"Chimalakonda","sequence":"additional","affiliation":[{"name":"Indian Institute of Technology Tirupati, Tirupati, India"}]}],"member":"320","published-online":{"date-parts":[[2020,12,6]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2018.2877395"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jnca.2015.09.002"},{"volume-title":"Ullman","year":"2006","author":"Aho Alfred V.","key":"e_1_2_1_3_1"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2014.08.002"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2017.07.013"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPC.2019.2929370"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2063239.2063241"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2018.12.009"},{"key":"e_1_2_1_9_1","volume-title":"Proceedings of the 21st Twente Student Conference on IT","volume":"21","author":"Bakker Alexander","year":"2014"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2017.2689012"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2897073.2897085"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/2897073.2897086"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/2384616.2384681"},{"volume-title":"Successful Qualitative Research: A Practical Guide for Beginners","author":"Braun Virginia","key":"e_1_2_1_14_1"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1010933404324"},{"volume-title":"Reversible debugging software. Judge Bus. School","year":"2013","author":"Britton Tom","key":"e_1_2_1_16_1"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2668332.2668337"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/SANER.2017.7884614"},{"volume-title":"Proceedings of the USENIX Conference on USENIX Annual Technical Conference (USENIXATC\u201910)","year":"2010","author":"Carroll Aaron","key":"e_1_2_1_19_1"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1961189.1961199"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/3190507"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/3047307"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.5555\/3091622.3091637"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/MOBILESoft.2017.19"},{"volume-title":"Proceedings of the XXI Iberoamerican Conference on Software Engineering. 163--176","year":"2018","author":"Cruz Luis","key":"e_1_2_1_25_1"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/MOBILESoft.2017.21"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/TNET.2016.2639061"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/SANER.2018.8330266"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1999995.2000027"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2619091"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-015-9378-4"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.knosys.2017.04.014"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2017.2755013"},{"volume-title":"Proceedings of the EnviroInfo Conference. 437--444","year":"2014","author":"Gottschalk Marion","key":"e_1_2_1_34_1"},{"volume-title":"Proceedings of the INFORMATIK Conference.","year":"2012","author":"Gottschalk Marion","key":"e_1_2_1_35_1"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2013.6693097"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2013.6606555"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2015.46"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/2840723"},{"volume-title":"Proceedings of the 11th Joint Meeting on Foundations of Software Engineering. ACM, 208--219","year":"2017","author":"Jabbarvand Reyhaneh","key":"e_1_2_1_40_1"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-68690-5_12"},{"volume-title":"Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation.","author":"Jindal Abhilash","key":"e_1_2_1_42_1"},{"volume-title":"John and Pat Langley","year":"1995","author":"George","key":"e_1_2_1_43_1"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/2380445.2380502"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/2742488"},{"volume-title":"Keromytis","year":"2012","author":"Kemerlis Vasileios P.","key":"e_1_2_1_46_1"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2009.28"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1109\/QSIC.2009.47"},{"volume-title":"Proceedings of the IEEE 24th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS\u201916)","year":"2016","author":"Peter Kim Chang Hwan","key":"e_1_2_1_49_1"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.pmcj.2016.04.012"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1109\/EMSOFT.2013.6658605"},{"volume-title":"Proceedings of the International Conference on Mobile and Ubiquitous Systems: Computing, Networking, and Services. Springer, 138--149","year":"2011","author":"Kj\u00e6rgaard Mikkel Baun","key":"e_1_2_1_52_1"},{"key":"e_1_2_1_53_1","unstructured":"Eric Lafortune. [n.d.]. ProGuard. Retrieved from https:\/\/stuff.mit.edu\/afs\/sipb\/project\/android\/sdk\/android-sdk-linux\/tools\/proguard\/docs\/index.html.  Eric Lafortune. [n.d.]. ProGuard. Retrieved from https:\/\/stuff.mit.edu\/afs\/sipb\/project\/android\/sdk\/android-sdk-linux\/tools\/proguard\/docs\/index.html."},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11219-013-9208-0"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2011.104"},{"volume-title":"Proceedings of the IEEE International Conference on Software Maintenance and Evolution (ICSME\u201914)","author":"Li Ding","key":"e_1_2_1_56_1"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1109\/IGCC.2017.8323567"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11432-015-1015-5"},{"volume-title":"Proceedings of the IEEE\/ACM International Symposium on Low Power Electronics and Design (ISLPED\u201915)","year":"2015","author":"Li Yuanchun","key":"e_1_2_1_59_1"},{"key":"e_1_2_1_60_1","first-page":"1","article-title":"Greendroid: Automated diagnosis of energy inefficiency for smartphone applications","volume":"1","author":"Liu Yepang","year":"2014","journal-title":"IEEE Trans. Softw. Eng."},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950297"},{"volume":"13","volume-title":"Proceedings of the USENIX Symposium on Networked Systems Design and Implementation (NSDI\u201913)","author":"Ma Xiao","key":"e_1_2_1_62_1"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSR.2015.53"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.comcom.2014.03.023"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1145\/2897073.2897094"},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884810"},{"volume-title":"Mengistu and Dunren Che","year":"2019","author":"Tessema","key":"e_1_2_1_67_1"},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/3105906"},{"key":"e_1_2_1_69_1","unstructured":"Monsoon Solutions Inc. 2018. Mobile Device Power Monitor Manual Ver 1.19. Retrieved from https:\/\/msoon.github.io\/powermonitor\/PowerTool\/doc\/PowerMonitorManual.pdf.  Monsoon Solutions Inc. 2018. Mobile Device Power Monitor Manual Ver 1.19. Retrieved from https:\/\/msoon.github.io\/powermonitor\/PowerTool\/doc\/PowerMonitorManual.pdf."},{"key":"e_1_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2017.2779131"},{"key":"e_1_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2017.2757486"},{"key":"e_1_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.5555\/2820518.2820528"},{"key":"e_1_2_1_73_1","doi-asserted-by":"publisher","DOI":"10.1145\/2393596.2393600"},{"volume-title":"Proceedings of the 11th ACM Conference on Embedded Networked Sensor Systems. ACM, 10","author":"Oliner Adam J.","key":"e_1_2_1_74_1"},{"key":"e_1_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.18293\/SEKE2018-157"},{"key":"e_1_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-017-9535-z"},{"key":"e_1_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2018.08.004"},{"key":"e_1_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2015.83"},{"key":"e_1_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.1145\/2070562.2070567"},{"key":"e_1_2_1_80_1","doi-asserted-by":"publisher","DOI":"10.1145\/2168836.2168841"},{"volume-title":"Proceedings of the 10th International Conference on Mobile Systems, Applications, and Services. ACM, 267--280","author":"Pathak Abhinav","key":"e_1_2_1_81_1"},{"key":"e_1_2_1_82_1","doi-asserted-by":"publisher","DOI":"10.1145\/3154384"},{"key":"e_1_2_1_83_1","doi-asserted-by":"publisher","DOI":"10.1145\/2597073.2597110"},{"key":"e_1_2_1_84_1","unstructured":"J. Platt. 1998. Sequential Minimal Optimization: A Fast Algorithm\u00a0for Training Support Vector Machines. Retrieved from https:\/\/citeseerx.ist.psu.edu\/viewdoc\/summary?doi=10.1.1.43.4376.  J. Platt. 1998. Sequential Minimal Optimization: A Fast Algorithm\u00a0for Training Support Vector Machines. Retrieved from https:\/\/citeseerx.ist.psu.edu\/viewdoc\/summary?doi=10.1.1.43.4376."},{"volume-title":"Programs for Machine Learning. Morgan Kaufmann","author":"Quinlan J. Ross","key":"e_1_2_1_85_1"},{"key":"e_1_2_1_86_1","doi-asserted-by":"publisher","DOI":"10.1145\/199448.199462"},{"key":"e_1_2_1_87_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2018.07.035"},{"volume-title":"Proceedings of the Annual ACM International Conference on Mobile Computing Networks.","year":"2011","author":"Schulman Aaron","key":"e_1_2_1_88_1"},{"key":"e_1_2_1_89_1","doi-asserted-by":"publisher","DOI":"10.1145\/3190617"},{"key":"e_1_2_1_90_1","doi-asserted-by":"publisher","DOI":"10.1145\/1024393.1024404"},{"key":"e_1_2_1_91_1","doi-asserted-by":"publisher","DOI":"10.1145\/1925805.1925818"},{"volume-title":"Proceedings of the HotPower Conference.","year":"2012","author":"Vekris Panagiotis","key":"e_1_2_1_92_1"},{"key":"e_1_2_1_93_1","first-page":"203","article-title":"Model checking programs. Auto","volume":"10","author":"Visser Willem","year":"2003","journal-title":"Softw. Eng."},{"key":"e_1_2_1_94_1","doi-asserted-by":"publisher","DOI":"10.1145\/2993717.2993720"},{"key":"e_1_2_1_95_1","doi-asserted-by":"publisher","DOI":"10.1109\/DASC.2014.83"},{"volume-title":"Necula","year":"2004","author":"Weimer Westley","key":"e_1_2_1_96_1"},{"key":"e_1_2_1_97_1","doi-asserted-by":"publisher","DOI":"10.1145\/2892208.2892218"},{"key":"e_1_2_1_98_1","doi-asserted-by":"publisher","DOI":"10.5555\/2486788.2486878"},{"key":"e_1_2_1_99_1","first-page":"833","article-title":"Static window transition graphs for Android. Auto","volume":"25","author":"Yang Shengqian","year":"2018","journal-title":"Softw. Eng."},{"key":"e_1_2_1_100_1","doi-asserted-by":"publisher","DOI":"10.1145\/2676430"},{"key":"e_1_2_1_101_1","volume-title":"Proceedings of the USENIX Annual Technical Conference","volume":"12","author":"Yoon Chanmin","year":"2012"},{"key":"e_1_2_1_102_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10639-017-9610-5"},{"key":"e_1_2_1_103_1","doi-asserted-by":"publisher","DOI":"10.1145\/2380445.2380503"},{"key":"e_1_2_1_104_1","doi-asserted-by":"publisher","DOI":"10.1145\/1878961.1878982"}],"container-title":["ACM Computing Surveys"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3417986","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3417986","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:01:14Z","timestamp":1750197674000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3417986"}},"subtitle":["A Thematic Taxonomy and Survey"],"short-title":[],"issued":{"date-parts":[[2020,12,6]]},"references-count":104,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2021,11,30]]}},"alternative-id":["10.1145\/3417986"],"URL":"https:\/\/doi.org\/10.1145\/3417986","relation":{},"ISSN":["0360-0300","1557-7341"],"issn-type":[{"type":"print","value":"0360-0300"},{"type":"electronic","value":"1557-7341"}],"subject":[],"published":{"date-parts":[[2020,12,6]]},"assertion":[{"value":"2019-11-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-07-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-12-06","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}