Abstract
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’ 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.
- Abdul Muqtadir Abbasi, Mustafa Al-Tekreeti, Kshirasagar Naik, Amiya Nayak, Pradeep Srivastava, and Marzia Zaman. 2018. Characterization and detection of tail energy bugs in smartphones. IEEE Access 6 (2018), 65098--65108.Google ScholarCross Ref
- Raja Wasim Ahmad, Abdullah Gani, Siti Hafizah Ab Hamid, Feng Xia, and Muhammad Shiraz. 2015. A review on mobile application energy profiling: Taxonomy, state-of-the-art, and open research issues. J. Netw. Comput. Appl. 58 (2015), 42--59.Google ScholarDigital Library
- Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman. 2006. Compilers: Principles, Techniques, and Tools (2Nd Edition). Addison-Wesley Longman, Boston, MA.Google ScholarDigital Library
- Jehad Al Dallal. 2015. Identifying refactoring opportunities in object-oriented code: A systematic literature review. Info. Softw. Technol. 58 (2015), 231--249.Google ScholarCross Ref
- Jehad Al Dallal. 2017. Predicting move method refactoring opportunities in object-oriented code. Info. Softw. Technol. 92 (2017), 105--120.Google ScholarCross Ref
- Ahmad Alaiad, Yazan Alnsour, and Mohammad Alsharo. 2019. Virtual teams: Thematic taxonomy, constructs model, and future research directions. IEEE Trans. Professional Commun. 62, 3 (2019), 211--238.Google ScholarCross Ref
- Matthew Arnold, Martin Vechev, and Eran Yahav. 2011. QVM: An efficient runtime for detecting defects in deployed systems. ACM Trans. Softw. Eng. Methodol. 21, 1 (2011), 2.Google ScholarDigital Library
- Muhammad Ilyas Azeem, Fabio Palomba, Lin Shi, and Qing Wang. 2019. Machine learning techniques for code smell detection: A systematic literature review and meta-analysis. Info. Softw. Technol. 108 (2019), 115--138.Google ScholarCross Ref
- Alexander Bakker. 2014. Comparing energy profilers for android. In Proceedings of the 21st Twente Student Conference on IT, Vol. 21.Google Scholar
- Abhijeet Banerjee, Lee Kee Chong, Clément Ballabriga, and Abhik Roychoudhury. 2018. Energypatch: Repairing resource leaks to improve energy-efficiency of android apps. IEEE Trans. Softw. Eng. 44, 5 (2018), 470--490.Google ScholarCross Ref
- Abhijeet Banerjee, Hai-Feng Guo, and Abhik Roychoudhury. 2016. Debugging energy-efficiency related field failures in mobile apps. In Proceedings of the International Conference on Mobile Software Engineering and Systems. ACM, 127--138.Google ScholarDigital Library
- Abhijeet Banerjee and Abhik Roychoudhury. 2016. Automated re-factoring of android apps to enhance energy-efficiency. In Proceedings of the IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft’16). IEEE, 139--150.Google ScholarDigital Library
- Tao Bao, Yunhui Zheng, and Xiangyu Zhang. 2012. White box sampling in uncertain data processing enabled by program analysis. In ACM SIGPLAN Notices, Vol. 47. ACM, 897--914.Google ScholarDigital Library
- Virginia Braun and Victoria Clarke. 2013. Successful Qualitative Research: A Practical Guide for Beginners. Sage.Google Scholar
- Leo Breiman. 2001. Random forests. Mach. Learn. 45, 1 (Oct. 2001), 5--32. DOI:https://doi.org/10.1023/A:1010933404324Google ScholarDigital Library
- Tom Britton, Lisa Jeng, Graham Carver, Paul Cheak, and Tomer Katzenellenbogen. 2013. Reversible debugging software. Judge Bus. School, Univ. Cambridge, Cambridge, UK, Tech. Rep (2013).Google Scholar
- Niels Brouwers, Marco Zuniga, and Koen Langendoen. 2014. NEAT: A novel energy analysis toolkit for free-roaming smartphones. In Proceedings of the 12th ACM Conference on Embedded Network Sensor Systems. ACM, 16--30.Google ScholarDigital Library
- Antonin Carette, Mehdi Adel Ait Younes, Geoffrey Hecht, Naouel Moha, and Romain Rouvoy. 2017. Investigating the energy impact of android smells. In Proceedings of the IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER’17). IEEE, 115--126.Google ScholarCross Ref
- Aaron Carroll and Gernot Heiser. 2010. An analysis of power consumption in a smartphone. In Proceedings of the USENIX Conference on USENIX Annual Technical Conference (USENIXATC’10). USENIX Association, Berkeley, CA, 21--21. Retrieved from http://dl.acm.org/citation.cfm?id=1855840.1855861.Google Scholar
- Chih-Chung Chang and Chih-Jen Lin. 2011. LIBSVM: A library for support vector machines. ACM Trans. Intell. Syst. Technol. 2, 3 (2011), 27.Google ScholarDigital Library
- Tao Chen, Rami Bahsoon, and Xin Yao. 2018. A survey and taxonomy of self-aware and self-adaptive cloud autoscaling systems. ACM Comput. Surveys 51, 3 (2018), 61.Google ScholarDigital Library
- Lianhua Chi and Xingquan Zhu. 2017. Hashing techniques: A survey and taxonomy. ACM Comput. Surveys 50, 1 (2017), 11.Google ScholarDigital Library
- William W. Cohen. 1995. Fast effective rule induction. In Machine Learning Proceedings 1995. Elsevier, 115--123.Google ScholarDigital Library
- Luis Cruz and Rui Abreu. 2017. Performance-based guidelines for energy efficient mobile applications. In Proceedings of the IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft’17). IEEE, 46--57.Google ScholarDigital Library
- Luis Cruz and Rui Abreu. 2018. Using automatic refactoring to improve energy efficiency of android apps. In Proceedings of the XXI Iberoamerican Conference on Software Engineering. 163--176.Google Scholar
- Luis Cruz, Rui Abreu, and Jean-Noël Rouvignac. 2017. Leafactor: Improving energy efficiency of android apps via automatic refactoring. In Proceedings of the IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft’17). IEEE, 205--206.Google ScholarDigital Library
- Tuan A. Dao, Indrajeet Singh, Harsha V. Madhyastha, Srikanth V. Krishnamurthy, Guohong Cao, and Prasant Mohapatra. 2017. TIDE: A user-centric tool for identifying energy hungry applications on smartphones. IEEE/ACM Trans. Netw. 25, 3 (2017), 1459--1474.Google ScholarDigital Library
- Dario Di Nucci, Fabio Palomba, Damian A. Tamburri, Alexander Serebrenik, and Andrea De Lucia. 2018. Detecting code smells using machine learning techniques: Are we there yet? In Proceedings of the IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER’18). IEEE, 612--621.Google ScholarCross Ref
- Mian Dong and Lin Zhong. 2011. Self-constructive high-rate system energy modeling for battery-powered mobile systems. In Proceedings of the 9th International Conference on Mobile Systems, Applications, and Services. ACM, 335--348.Google ScholarDigital Library
- William Enck, Peter Gilbert, Seungyeop Han, Vasant Tendulkar, Byung-Gon Chun, Landon P. Cox, Jaeyeon Jung, Patrick McDaniel, and Anmol N. Sheth. 2014. TaintDroid: An information-flow tracking system for realtime privacy monitoring on smartphones. ACM Trans. Comput. Syst. 32, 2 (2014), 5.Google ScholarDigital Library
- Francesca Arcelli Fontana, Mika V. Mäntylä, Marco Zanoni, and Alessandro Marino. 2016. Comparing and experimenting machine learning techniques for code smell detection. Empir. Softw. Eng. 21, 3 (2016), 1143--1191.Google ScholarCross Ref
- Francesca Arcelli Fontana and Marco Zanoni. 2017. Code smell severity classification using machine learning techniques. Knowl.-Based Syst. 128 (2017), 43--58.Google ScholarDigital Library
- Luca Gazzola, Daniela Micucci, and Leonardo Mariani. 2017. Automatic software repair: A survey. IEEE Trans. Softw. Eng. 45, 1 (2017), 34--67.Google ScholarDigital Library
- Marion Gottschalk, Jan Jelschen, and Andreas Winter. 2014. Saving energy on mobile devices by refactoring. In Proceedings of the EnviroInfo Conference. 437--444.Google Scholar
- Marion Gottschalk, Mirco Josefiok, Jan Jelschen, and Andreas Winter. 2012. Removing energy code smells with reengineering services. In Proceedings of the INFORMATIK Conference.Google Scholar
- Chaorong Guo, Jian Zhang, Jun Yan, Zhiqiang Zhang, and Yanli Zhang. 2013. Characterizing and detecting resource leaks in Android applications. In Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering (ASE’13). IEEE, 389--398.Google ScholarDigital Library
- Shuai Hao, Ding Li, William G. J. Halfond, and Ramesh Govindan. 2013. Estimating mobile application energy consumption using program analysis. In Proceedings of the International Conference on Software Engineering. IEEE Press, 92--101.Google ScholarCross Ref
- Geoffrey Hecht, Omar Benomar, Romain Rouvoy, Naouel Moha, and Laurence Duchien. 2015. Tracking the software quality of android applications along their evolution (t). In Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering (ASE’15). IEEE, 236--247.Google ScholarDigital Library
- Mohammad Ashraful Hoque, Matti Siekkinen, Kashif Nizam Khan, Yu Xiao, and Sasu Tarkoma. 2016. Modeling, profiling, and debugging the energy consumption of mobile devices. ACM Comput. Surveys 48, 3 (2016), 39.Google ScholarDigital Library
- Reyhaneh Jabbarvand and Sam Malek. 2017. μ Droid: An energy-aware mutation testing framework for Android. In Proceedings of the 11th Joint Meeting on Foundations of Software Engineering. ACM, 208--219.Google Scholar
- Hao Jiang, Hongli Yang, Shengchao Qin, Zhendong Su, Jian Zhang, and Jun Yan. 2017. Detecting energy bugs in android apps using static analysis. In Proceedings of the International Conference on Formal Engineering Methods. Springer, 192--208.Google ScholarCross Ref
- Abhilash Jindal and Y. Charlie Hu. 2018. Differential energy profiling: Energy optimization via diffing similar apps. In Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation.Google Scholar
- George H. John and Pat Langley. 1995. Estimating continuous distributions in Bayesian classifiers. In Proceedings of the 11th Conference on Uncertainty in Artificial Intelligence. Morgan Kaufmann Publishers Inc., 338--345.Google ScholarDigital Library
- Wonwoo Jung, Chulkoo Kang, Chanmin Yoon, Donwon Kim, and Hojung Cha. 2012. DevScope: A nonintrusive and online power analysis tool for smartphone hardware components. In Proceedings of the 8th IEEE/ACM/IFIP International Conference on Hardware/software Codesign and System Synthesis. ACM, 353--362.Google ScholarDigital Library
- Tarandeep Kaur and Inderveer Chana. 2015. Energy efficiency techniques in cloud computing: A survey and taxonomy. ACM Comput. Surveys 48, 2 (2015), 22.Google ScholarDigital Library
- Vasileios P. Kemerlis, Georgios Portokalidis, Kangkook Jee, and Angelos D. Keromytis. 2012. libdft: Practical dynamic data flow tracking for commodity systems. In ACM Sigplan Notices, Vol. 47. ACM, 121--132.Google ScholarDigital Library
- Foutse Khomh, Massimiliano Di Penta, and Yann-Gael Gueheneuc. 2009. An exploratory study of the impact of code smells on software change-proneness. In Proceedings of the 16th Working Conference on Reverse Engineering. IEEE, 75--84.Google ScholarDigital Library
- Foutse Khomh, Stéphane Vaucher, Yann-Gaël Guéhéneuc, and Houari Sahraoui. 2009. A bayesian approach for the detection of code and design smells. In Proceedings of the 9th International Conference on Quality Software. IEEE, 305--314.Google ScholarDigital Library
- Chang Hwan Peter Kim, Daniel Kroening, and Marta Kwiatkowska. 2016. Static program analysis for identifying energy bugs in graphics-intensive mobile apps. In Proceedings of the IEEE 24th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS’16). IEEE, 115--124.Google Scholar
- Dohee Kim, Soyoon Lee, and Hyokyung Bahn. 2016. An adaptive location detection scheme for energy-efficiency of smartphones. Pervas. Mobile Comput. 31 (2016), 67--78.Google ScholarDigital Library
- Kwanghwan Kim and Hojung Cha. 2013. WakeScope: Runtime WakeLock anomaly management scheme for Android platform. In Proceedings of the 11th ACM International Conference on Embedded Software. IEEE Press, 27.Google ScholarCross Ref
- Mikkel Baun Kjærgaard and Henrik Blunck. 2011. Unsupervised power profiling for mobile devices. In Proceedings of the International Conference on Mobile and Ubiquitous Systems: Computing, Networking, and Services. Springer, 138--149.Google Scholar
- Eric Lafortune. [n.d.]. ProGuard. Retrieved from https://stuff.mit.edu/afs/sipb/project/android/sdk/android-sdk-linux/tools/proguard/docs/index.html.Google Scholar
- Claire Le Goues, Stephanie Forrest, and Westley Weimer. 2013. Current challenges in automatic software repair. Softw. Qual. J. 21, 3 (2013), 421--443.Google ScholarDigital Library
- Claire Le Goues, ThanhVu Nguyen, Stephanie Forrest, and Westley Weimer. 2011. Genprog: A generic method for automatic software repair. IEEE Trans. Softw. Eng. 38, 1 (2011), 54--72.Google ScholarDigital Library
- Ding Li, Shuai Hao, Jiaping Gui, and William G. J. Halfond. 2014. An empirical study of the energy consumption of android applications. In Proceedings of the IEEE International Conference on Software Maintenance and Evolution (ICSME’14). IEEE, 121--130.Google Scholar
- Li Li, Bruce Beitman, Mai Zheng, Xiaorui Wang, and Feng Qin. 2017. eDelta: Pinpointing energy deviations in smartphone apps via comparative trace analysis. In Proceedings of the 8th International Green and Sustainable Computing Conference (IGSC’17). IEEE, 1--8.Google ScholarCross Ref
- Qiwei Li, Chang Xu, Yepang Liu, Chun Cao, Xiaoxing Ma, and Jian Lü. 2017. CyanDroid: Stable and effective energy inefficiency diagnosis for Android apps. Sci. China Info. Sci. 60, 1 (2017), 012104.Google ScholarCross Ref
- Yuanchun Li, Yao Guo, Junjun Kong, and Xiangqun Chen. 2015. Fixing sensor-related energy bugs through automated sensing policy instrumentation. In Proceedings of the IEEE/ACM International Symposium on Low Power Electronics and Design (ISLPED’15). IEEE, 321--326.Google Scholar
- Yepang Liu, Chang Xu, Shing-Chi Cheung, and Jian Lu. 2014. Greendroid: Automated diagnosis of energy inefficiency for smartphone applications. IEEE Trans. Softw. Eng. 1 (2014), 1--1.Google Scholar
- Yepang Liu, Chang Xu, Shing-Chi Cheung, and Valerio Terragni. 2016. Understanding and detecting wake lock misuses for android applications. In Proceedings of the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, 396--409.Google ScholarDigital Library
- Xiao Ma, Peng Huang, Xinxin Jin, Pei Wang, Soyeon Park, Dongcai Shen, Yuanyuan Zhou, Lawrence K. Saul, and Geoffrey M. Voelker. 2013. Edoctor: Automatically diagnosing abnormal battery drain issues on smartphones. In Proceedings of the USENIX Symposium on Networked Systems Design and Implementation (NSDI’13), Vol. 13. 57--70.Google Scholar
- Haroon Malik, Peng Zhao, and Michael Godfrey. 2015. Going green: An exploratory analysis of energy-related questions. In Proceedings of the 12th Working Conference on Mining Software Repositories. IEEE Press, 418--421.Google ScholarCross Ref
- Yemao Man and Edith C.-H. Ngai. 2014. Energy-efficient automatic location-triggered applications on smartphones. Comput. Commun. 50 (2014), 29--40.Google ScholarDigital Library
- Umme Ayda Mannan, Iftekhar Ahmed, Rana Abdullah M. Almurshed, Danny Dig, and Carlos Jensen. 2016. Understanding code smells in Android applications. In Proceedings of the IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft’16). IEEE, 225--236.Google ScholarDigital Library
- Irene Manotas, Christian Bird, Rui Zhang, David Shepherd, Ciera Jaspan, Caitlin Sadowski, Lori Pollock, and James Clause. 2016. An empirical study of practitioners’ perspectives on green software engineering. In Proceedings of the IEEE/ACM 38th International Conference on Software Engineering (ICSE’16). IEEE, 237--248.Google ScholarDigital Library
- Tessema M. Mengistu and Dunren Che. 2019. Survey and taxonomy of volunteer computing. ACM J. Comput. Surv (2019), 1--35.Google Scholar
- Martin Monperrus. 2018. Automatic software repair: A bibliography. ACM Comput. Surveys 51, 1 (2018), 17.Google ScholarDigital Library
- Monsoon Solutions Inc. 2018. Mobile Device Power Monitor Manual Ver 1.19. Retrieved from https://msoon.github.io/powermonitor/PowerTool/doc/PowerMonitorManual.pdf.Google Scholar
- José A Montenegro, Mónica Pinto, and Lidia Fuentes. 2018. What do software developers need to know to build secure energy-efficient android applications? IEEE Access 6 (2018), 1428--1450.Google ScholarCross Ref
- Rodrigo Morales, Rubén Saborido, Foutse Khomh, Francisco Chicano, and Giuliano Antoniol. 2018. Earmo: An energy-aware refactoring approach for mobile apps. IEEE Trans. Softw. Eng. 44, 12 (2018), 1176--1206.Google ScholarDigital Library
- Irineu Moura, Gustavo Pinto, Felipe Ebert, and Fernando Castor. 2015. Mining energy-aware commits. In Proceedings of the 12th Working Conference on Mining Software Repositories. IEEE Press, 56--67.Google ScholarDigital Library
- Damien Octeau, Somesh Jha, and Patrick McDaniel. 2012. Retargeting Android applications to Java bytecode. In Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering. ACM, 6.Google ScholarDigital Library
- Adam J. Oliner, Anand P. Iyer, Ion Stoica, Eemil Lagerspetz, and Sasu Tarkoma. 2013. Carat: Collaborative energy diagnosis for mobile devices. In Proceedings of the 11th ACM Conference on Embedded Networked Sensor Systems. ACM, 10.Google Scholar
- Johnatan Oliveira, Markos Viggiato, Mateus F. Santos, Eduardo Figueiredo, and Humberto Marques-Neto. 2018. An empirical study on the impact of android code smells on resource usage. In Proceedings of the International Conference on Software Engineering and Knowledge Engineering (SEKE’18). 314--313.Google ScholarCross Ref
- Fabio Palomba, Gabriele Bavota, Massimiliano Di Penta, Fausto Fasano, Rocco Oliveto, and Andrea De Lucia. 2018. On the diffuseness and the impact on maintainability of code smells: A large scale empirical investigation. Empir. Softw. Eng. 23, 3 (2018), 1188--1221.Google ScholarDigital Library
- Fabio Palomba, Dario Di Nucci, Annibale Panichella, Andy Zaidman, and Andrea De Lucia. 2019. On the impact of code smells on the energy consumption of mobile applications. Info. Softw. Technol. 105 (2019), 43--55.Google ScholarCross Ref
- Candy Pang, Abram Hindle, Bram Adams, and Ahmed E. Hassan. 2016. What do programmers know about software energy consumption? IEEE Softw. 33, 3 (2016), 83--89.Google ScholarDigital Library
- Abhinav Pathak, Y. Charlie Hu, and Ming Zhang. 2011. 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. ACM, 5.Google ScholarDigital Library
- Abhinav Pathak, Y. Charlie Hu, and Ming Zhang. 2012. Where is the energy spent inside my app?: Fine grained energy accounting on smartphones with eprof. In Proceedings of the 7th ACM European Conference on Computer Systems. ACM, 29--42.Google ScholarDigital Library
- Abhinav Pathak, Abhilash Jindal, Y. Charlie Hu, and Samuel P. Midkiff. 2012. 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. ACM, 267--280.Google Scholar
- Gustavo Pinto and Fernando Castor. 2017. Energy efficiency: A new concern for application software developers. Commun. ACM 60, 12 (Nov. 2017), 68--75. DOI:https://doi.org/10.1145/3154384Google ScholarDigital Library
- Gustavo Pinto, Fernando Castor, and Yu David Liu. 2014. Mining questions about software energy consumption. In Proceedings of the 11th Working Conference on Mining Software Repositories. ACM, 22--31.Google ScholarDigital Library
- J. Platt. 1998. Sequential Minimal Optimization: A Fast Algorithm for Training Support Vector Machines. Retrieved from https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.43.4376.Google Scholar
- J. Ross Quinlan. 1993. C4.5: Programs for Machine Learning. Morgan Kaufmann, San Francisco, CA.Google ScholarDigital Library
- Thomas Reps, Susan Horwitz, and Mooly Sagiv. 1995. Precise interprocedural dataflow analysis via graph reachability. In Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM, 49--61.Google ScholarDigital Library
- José Amancio M. Santos, Joao B. Rocha-Junior, Luciana Carla Lins Prates, Rogeres Santos do Nascimento, Mydiã Falcão Freitas, and Manoel Gomes de Mendonca. 2018. A systematic review on the code smell effect. J. Syst. Softw. 144 (2018), 450--477.Google ScholarDigital Library
- Aaron Schulman, Thomas Schmid, Prabal Dutta, and Neil Spring. 2011. Phone power monitoring with battor. In Proceedings of the Annual ACM International Conference on Mobile Computing Networks.Google Scholar
- Jungmin Son and Rajkumar Buyya. 2018. A taxonomy of software-defined networking (sdn)-enabled cloud computing. ACM Comput. Surveys 51, 3 (2018), 59.Google ScholarDigital Library
- G. Edward Suh, Jae W. Lee, David Zhang, and Srinivas Devadas. 2004. Secure program execution via dynamic information flow tracking. In ACM Sigplan Notices, Vol. 39. ACM, 85--96.Google ScholarDigital Library
- Raja Vallée-Rai, Phong Co, Etienne Gagnon, Laurie Hendren, Patrick Lam, and Vijay Sundaresan. 2010. Soot: A Java bytecode optimization framework. In CASCON First Decade High Impact Papers. IBM Corp., 214--224.Google ScholarDigital Library
- Panagiotis Vekris, Ranjit Jhala, Sorin Lerner, and Yuvraj Agarwal. 2012. Towards verifying android apps for the absence of no-sleep energy bugs. In Proceedings of the HotPower Conference.Google Scholar
- Willem Visser, Klaus Havelund, Guillaume Brat, SeungJoon Park, and Flavio Lerda. 2003. Model checking programs. Auto. Softw. Eng. 10, 2 (2003), 203--232.Google ScholarDigital Library
- Jue Wang, Yepang Liu, Chang Xu, Xiaoxing Ma, and Jian Lu. 2016. E-greenDroid: Effective energy inefficiency analysis for android applications. In Proceedings of the 8th Asia-Pacific Symposium on Internetware. ACM, 71--80.Google ScholarDigital Library
- Xigui Wang, Xianfeng Li, and Wen Wen. 2014. Wlcleaner: Reducing energy waste caused by wakelock bugs at runtime. In Proceedings of the IEEE 12th International Conference on Dependable, Autonomic and Secure Computing (DASC’14). IEEE, 429--434.Google ScholarDigital Library
- Westley Weimer and George C. Necula. 2004. Finding and preventing run-time error handling mistakes. In ACM SIGPLAN Notices, Vol. 39. ACM, 419--431.Google Scholar
- Haowei Wu, Shengqian Yang, and Atanas Rountev. 2016. Static detection of energy defect patterns in Android applications. In Proceedings of the 25th International Conference on Compiler Construction. ACM, 185--195.Google ScholarDigital Library
- Aiko Yamashita and Leon Moonen. 2013. Exploring the impact of inter-smell relations on software maintainability: An empirical study. In Proceedings of the International Conference on Software Engineering. IEEE Press, 682--691.Google ScholarDigital Library
- Shengqian Yang, Haowei Wu, Hailong Zhang, Yan Wang, Chandrasekar Swaminathan, Dacong Yan, and Atanas Rountev. 2018. Static window transition graphs for Android. Auto. Softw. Eng. 25, 4 (2018), 833--873.Google ScholarDigital Library
- Zheng Yang, Chenshu Wu, Zimu Zhou, Xinglin Zhang, Xu Wang, and Yunhao Liu. 2015. Mobility increases localizability: A survey on wireless indoor localization using inertial sensors. ACM Comput. Surveys 47, 3 (2015), 54.Google ScholarDigital Library
- Chanmin Yoon, Dongwon Kim, Wonwoo Jung, Chulkoo Kang, and Hojung Cha. 2012. AppScope: Application energy metering framework for android smartphone using kernel activity monitoring. In Proceedings of the USENIX Annual Technical Conference, Vol. 12. 1--14.Google Scholar
- Zarwina Yusoff, Amirrudin Kamsin, Shahaboddin Shamshirband, and Anthony T. Chronopoulos. 2018. A survey of educational games as interaction design tools for affective learning: Thematic analysis taxonomy. Edu. Info. Technol. 23, 1 (Jan. 2018), 393--418. DOI:https://doi.org/10.1007/s10639-017-9610-5Google ScholarDigital Library
- Lide Zhang, Mark S. Gordon, Robert P. Dick, Z. Morley Mao, Peter Dinda, and Lei Yang. 2012. 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. ACM, 363--372.Google ScholarDigital Library
- Lide Zhang, Birjodh Tiwana, Zhiyun Qian, Zhaoguang Wang, Robert P. Dick, Zhuoqing Morley Mao, and Lei Yang. 2010. Accurate online power estimation and automatic battery behavior based power model generation for smartphones. In Proceedings of the 8th IEEE/ACM/IFIP International Conference on Hardware/software Codesign and System Synthesis. ACM, 105--114.Google ScholarDigital Library
Index Terms
- Energy Diagnosis of Android Applications: A Thematic Taxonomy and Survey
Recommendations
Energy inefficiency diagnosis for Android applications: a literature review
AbstractAndroid 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 ...
A Systematic Mapping on Energy Efficiency Testing in Android Applications
SBQS '20: Proceedings of the XIX Brazilian Symposium on Software QualityAndroid devices include a wide range of features and functionalities. However, they are limited by their battery capacity. Energy efficiency has become a critical non-functional requirement for Android applications. Most applications use multiple ...
Comments