skip to main content
research-article

Energy Diagnosis of Android Applications: A Thematic Taxonomy and Survey

Published:06 December 2020Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarCross RefCross Ref
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. Jehad Al Dallal. 2015. Identifying refactoring opportunities in object-oriented code: A systematic literature review. Info. Softw. Technol. 58 (2015), 231--249.Google ScholarGoogle ScholarCross RefCross Ref
  5. Jehad Al Dallal. 2017. Predicting move method refactoring opportunities in object-oriented code. Info. Softw. Technol. 92 (2017), 105--120.Google ScholarGoogle ScholarCross RefCross Ref
  6. 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 ScholarGoogle ScholarCross RefCross Ref
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarCross RefCross Ref
  9. Alexander Bakker. 2014. Comparing energy profilers for android. In Proceedings of the 21st Twente Student Conference on IT, Vol. 21.Google ScholarGoogle Scholar
  10. 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 ScholarGoogle ScholarCross RefCross Ref
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. Virginia Braun and Victoria Clarke. 2013. Successful Qualitative Research: A Practical Guide for Beginners. Sage.Google ScholarGoogle Scholar
  15. Leo Breiman. 2001. Random forests. Mach. Learn. 45, 1 (Oct. 2001), 5--32. DOI:https://doi.org/10.1023/A:1010933404324Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle Scholar
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarCross RefCross Ref
  19. 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 ScholarGoogle Scholar
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. Lianhua Chi and Xingquan Zhu. 2017. Hashing techniques: A survey and taxonomy. ACM Comput. Surveys 50, 1 (2017), 11.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. William W. Cohen. 1995. Fast effective rule induction. In Machine Learning Proceedings 1995. Elsevier, 115--123.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle Scholar
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarCross RefCross Ref
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle ScholarCross RefCross Ref
  32. Francesca Arcelli Fontana and Marco Zanoni. 2017. Code smell severity classification using machine learning techniques. Knowl.-Based Syst. 128 (2017), 43--58.Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Luca Gazzola, Daniela Micucci, and Leonardo Mariani. 2017. Automatic software repair: A survey. IEEE Trans. Softw. Eng. 45, 1 (2017), 34--67.Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Marion Gottschalk, Jan Jelschen, and Andreas Winter. 2014. Saving energy on mobile devices by refactoring. In Proceedings of the EnviroInfo Conference. 437--444.Google ScholarGoogle Scholar
  35. Marion Gottschalk, Mirco Josefiok, Jan Jelschen, and Andreas Winter. 2012. Removing energy code smells with reengineering services. In Proceedings of the INFORMATIK Conference.Google ScholarGoogle Scholar
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle ScholarCross RefCross Ref
  38. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  39. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  40. 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 ScholarGoogle Scholar
  41. 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 ScholarGoogle ScholarCross RefCross Ref
  42. 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 ScholarGoogle Scholar
  43. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  44. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  45. Tarandeep Kaur and Inderveer Chana. 2015. Energy efficiency techniques in cloud computing: A survey and taxonomy. ACM Comput. Surveys 48, 2 (2015), 22.Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  47. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  48. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  49. 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 ScholarGoogle Scholar
  50. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  51. 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 ScholarGoogle ScholarCross RefCross Ref
  52. 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 ScholarGoogle Scholar
  53. 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 ScholarGoogle Scholar
  54. Claire Le Goues, Stephanie Forrest, and Westley Weimer. 2013. Current challenges in automatic software repair. Softw. Qual. J. 21, 3 (2013), 421--443.Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  56. 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 ScholarGoogle Scholar
  57. 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 ScholarGoogle ScholarCross RefCross Ref
  58. 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 ScholarGoogle ScholarCross RefCross Ref
  59. 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 ScholarGoogle Scholar
  60. 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 ScholarGoogle Scholar
  61. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  62. 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 ScholarGoogle Scholar
  63. 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 ScholarGoogle ScholarCross RefCross Ref
  64. Yemao Man and Edith C.-H. Ngai. 2014. Energy-efficient automatic location-triggered applications on smartphones. Comput. Commun. 50 (2014), 29--40.Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  66. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  67. Tessema M. Mengistu and Dunren Che. 2019. Survey and taxonomy of volunteer computing. ACM J. Comput. Surv (2019), 1--35.Google ScholarGoogle Scholar
  68. Martin Monperrus. 2018. Automatic software repair: A bibliography. ACM Comput. Surveys 51, 1 (2018), 17.Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. Monsoon Solutions Inc. 2018. Mobile Device Power Monitor Manual Ver 1.19. Retrieved from https://msoon.github.io/powermonitor/PowerTool/doc/PowerMonitorManual.pdf.Google ScholarGoogle Scholar
  70. 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 ScholarGoogle ScholarCross RefCross Ref
  71. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  72. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  73. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  74. 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 ScholarGoogle Scholar
  75. 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 ScholarGoogle ScholarCross RefCross Ref
  76. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  77. 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 ScholarGoogle ScholarCross RefCross Ref
  78. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  79. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  80. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  81. 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 ScholarGoogle Scholar
  82. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  83. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  84. 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 ScholarGoogle Scholar
  85. J. Ross Quinlan. 1993. C4.5: Programs for Machine Learning. Morgan Kaufmann, San Francisco, CA.Google ScholarGoogle ScholarDigital LibraryDigital Library
  86. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  87. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  88. 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 ScholarGoogle Scholar
  89. Jungmin Son and Rajkumar Buyya. 2018. A taxonomy of software-defined networking (sdn)-enabled cloud computing. ACM Comput. Surveys 51, 3 (2018), 59.Google ScholarGoogle ScholarDigital LibraryDigital Library
  90. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  91. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  92. 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 ScholarGoogle Scholar
  93. Willem Visser, Klaus Havelund, Guillaume Brat, SeungJoon Park, and Flavio Lerda. 2003. Model checking programs. Auto. Softw. Eng. 10, 2 (2003), 203--232.Google ScholarGoogle ScholarDigital LibraryDigital Library
  94. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  95. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  96. 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 ScholarGoogle Scholar
  97. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  98. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  99. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  100. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  101. 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 ScholarGoogle Scholar
  102. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  103. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  104. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Energy Diagnosis of Android Applications: A Thematic Taxonomy and Survey

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Computing Surveys
        ACM Computing Surveys  Volume 53, Issue 6
        Invited Tutorial and Regular Papers
        November 2021
        803 pages
        ISSN:0360-0300
        EISSN:1557-7341
        DOI:10.1145/3441629
        Issue’s Table of Contents

        Copyright © 2020 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 6 December 2020
        • Accepted: 1 July 2020
        • Revised: 1 May 2020
        • Received: 1 November 2019
        Published in csur Volume 53, Issue 6

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      HTML Format

      View this article in HTML Format .

      View HTML Format