Towards Greener Android Application Development

Empirical studies have shown that mobile applications that do not drain battery usually get good ratings from users. To make mobile application energy efficient many studies have been published that present refactoring guidelines and tools to optimize the code. However, these guidelines cannot be generalized w.r.t energy efficiency, as there is not enough energy related data for every context. Existing energy enhancement tools/profilers are mostly prototypes applicable to only a small subset of energy related problems. In addition, the existing guidelines and tools mostly address the energy issues once they have already been introduced. My goal is to add to the existing energy related data by evaluating the energy consumption of various code smell refactorings and third-party libraries used in Android development. Data from such evaluations could provide generalized contextual guidelines that could be used during application development to prevent the introduction of energy related problems. I also aim to develop a support tool for the Android Studio IDE that could give meaningful recommendations to developers during development to make the application code more energy efficient.

[1]  Jacques Klein,et al.  AndroZoo: Collecting Millions of Android Apps for the Research Community , 2016, 2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR).

[2]  Erik Derr,et al.  Reliable Third-Party Library Detection in Android and its Security Applications , 2016, CCS.

[3]  Giuseppe Procaccianti,et al.  Empirical Evaluation of the Energy Impact of Refactoring Code Smells , 2018, ICT4S.

[4]  Andrea De Lucia,et al.  Do Developers Update Third-Party Libraries in Mobile Apps? , 2018, 2018 IEEE/ACM 26th International Conference on Program Comprehension (ICPC).

[5]  Andreas Winter,et al.  Removing Energy Code Smells with Reengineering Services , 2012, GI-Jahrestagung.

[6]  Mauricio A. Saca Refactoring improving the design of existing code , 2017, 2017 IEEE 37th Central America and Panama Convention (CONCAPAN XXXVII).

[7]  Yuanyuan Zhang,et al.  A Survey of App Store Analysis for Software Engineering , 2017, IEEE Transactions on Software Engineering.

[8]  Erik Derr,et al.  Keep me Updated: An Empirical Study of Third-Party Library Updatability on Android , 2017, CCS.

[9]  Alejandro Zunino,et al.  Using bad smell-driven code refactorings in mobile applications to reduce battery usage , 2015 .

[10]  Haoyu Wang,et al.  LibRadar: Fast and Accurate Detection of Third-Party Libraries in Android Apps , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C).

[11]  Dietmar Pfahl,et al.  Evaluating the Impact of Code Smell Refactoring on the Energy Consumption of Android Applications , 2019, 2019 45th Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

[12]  Jason Nieh,et al.  A measurement study of google play , 2014, SIGMETRICS '14.

[13]  Dietmar Pfahl,et al.  Towards Greener Software Engineering Using Software Analytics: A Systematic Mapping , 2017, 2017 43rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

[14]  Romain Rouvoy,et al.  Investigating the energy impact of Android smells , 2017, 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER).

[15]  Mirza Omer Beg,et al.  A Methodology for Relating Software Structure with Energy Consumption , 2017, 2017 IEEE 17th International Working Conference on Source Code Analysis and Manipulation (SCAM).

[16]  Haoyu Wang,et al.  An Explorative Study of the Mobile App Ecosystem from App Developers' Perspective , 2017, WWW.

[17]  Reza Rawassizadeh Mobile Application Benchmarking Based on the Resource Usage Monitoring , 2009, Int. J. Mob. Comput. Multim. Commun..

[18]  Mario Linares Vásquez,et al.  Revisiting Android reuse studies in the context of code obfuscation and library usages , 2014, MSR 2014.

[19]  Sven Bugiel,et al.  Up-To-Crash: Evaluating Third-Party Library Updatability on Android , 2019, 2019 IEEE European Symposium on Security and Privacy (EuroS&P).

[20]  Abhik Roychoudhury,et al.  Automated Re-factoring of Android Apps to Enhance Energy-Efficiency , 2016, 2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft).

[21]  Iftekhar Ahmed,et al.  Understanding Code Smells in Android Applications , 2016, 2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft).

[22]  Narseo Vallina-Rodriguez,et al.  Beyond Google Play: A Large-Scale Comparative Study of Chinese Android App Markets , 2018, Internet Measurement Conference.

[23]  Aiko Fallas Yamashita,et al.  Do developers care about code smells? An exploratory survey , 2013, 2013 20th Working Conference on Reverse Engineering (WCRE).

[24]  Álvaro F. Moreira,et al.  Performance Evaluation of Android Applications: A Case Study , 2014, 2014 Brazilian Symposium on Computing Systems Engineering.

[25]  Ding Li,et al.  An Empirical Study of the Energy Consumption of Android Applications , 2014, 2014 IEEE International Conference on Software Maintenance and Evolution.

[26]  Feng Zhao,et al.  Fine-grained energy profiling for power-aware application design , 2008, PERV.

[27]  Dietmar Pfahl,et al.  An Investigation into the Energy Consumption of HTTP POST Request Methods for Android App Development , 2018, ICSOFT.

[28]  Fernando Castor Filho,et al.  A Study on the Energy Consumption of Android App Development Approaches , 2017, 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR).

[29]  Luca Ardito,et al.  Profiling Power Consumption on Mobile Devices , 2013 .

[30]  Chung-Ta King,et al.  ANEPROF: Energy Profiling for Android Java Virtual Machine and Applications , 2011, 2011 IEEE 17th International Conference on Parallel and Distributed Systems.

[31]  Ming Zhang,et al.  Where is the energy spent inside my app?: fine grained energy accounting on smartphones with Eprof , 2012, EuroSys '12.