Code Smell Refactoring for Energy Optimization of Android Apps

Reducing the amount of Mobile device energy usage to conserve environmentally friendly resources and maintain a reasonable level of energy consumption is an important issue for information and communication Industry. There are many opportunities to reduce the energy consumption at various levels from hardware, OS, machine code to application level. Innumerable research is going on the optimization of low-level software; e. g., Upgrades machine code. In software engineering, best approach to optimize applications of energy usage is to detect and remove the errors from the code, which when executed with the code increase the energy consumption. In this study, different mobile applications are considered from two different public repositories, namely, GitHub and F-droid app store, and code smells are detected and corrected using different refactoring techniques to evaluate the effect on energy consumption.

[1]  Yu-Cheng Chen,et al.  Co-changing code volume prediction through association rule mining and linear regression model , 2016, Expert Syst. Appl..

[2]  Renuka Nagpal,et al.  Multiclass classification of mobile applications as per energy consumption , 2018, J. King Saud Univ. Comput. Inf. Sci..

[3]  Kwame Chan-Jong-Chu,et al.  Investigating the Correlation between Performance Scores and Energy Consumption of Mobile Web Apps , 2020, EASE.

[4]  Romain Rouvoy,et al.  On the Survival of Android Code Smells in the Wild , 2019, 2019 IEEE/ACM 6th International Conference on Mobile Software Engineering and Systems (MOBILESoft).

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

[6]  Radu Marinescu,et al.  InCode: Continuous Quality Assessment and Improvement , 2010, 2010 14th European Conference on Software Maintenance and Reengineering.

[7]  Sapiee Jamel,et al.  An Eclipse Plug-in Tool for Generating Test Cases from Source Codes , 2019, APIT 2019.

[8]  Richi Nayak,et al.  Reducing redundancy of test cases generation using code smell detection and refactoring , 2020, J. King Saud Univ. Comput. Inf. Sci..

[9]  Ghulam Rasool,et al.  Recovering Android Bad Smells from Android Applications , 2020, Arabian Journal for Science and Engineering.

[10]  Andrea De Lucia,et al.  On the impact of code smells on the energy consumption of mobile applications , 2019, Inf. Softw. Technol..

[11]  Lidia Fuentes,et al.  An Energy Efficiency Study of Web-Based Communication in Android Phones , 2019, Sci. Program..

[12]  Sang-Ho Lee,et al.  Investigation for Software Power Consumption of Code Refactoring Techniques , 2014, SEKE.

[13]  Luis Cruz,et al.  Catalog of energy patterns for mobile applications , 2019, Empirical Software Engineering.

[14]  Lin Shi,et al.  Machine learning techniques for code smell detection: A systematic literature review and meta-analysis , 2019, Inf. Softw. Technol..

[15]  Paramvir Singh,et al.  An Empirical Investigation into Code Smell Elimination Sequences for Energy Efficient Software , 2016, 2016 23rd Asia-Pacific Software Engineering Conference (APSEC).

[16]  Filomena Ferrucci,et al.  Third-party libraries in mobile apps , 2019, Empirical Software Engineering.

[17]  Deepti Mehrotra,et al.  Measuring Code Smells and Anti-Patterns , 2019, 2019 4th International Conference on Information Systems and Computer Networks (ISCON).

[18]  Tanupriya Choudhury,et al.  Analysis of External Content Plagiarism Using Character Swarm Optimization , 2018 .

[19]  Satwinder Singh,et al.  A systematic literature review: Refactoring for disclosing code smells in object oriented software , 2017, Ain Shams Engineering Journal.

[20]  Tanupriya Choudhury,et al.  Intelligent Mobile Edge Computing: A Deep Learning Based Approach , 2020 .

[21]  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).

[22]  Tanupriya Choudhury,et al.  Node Credit Based Efficient Flooding (NCBEF) Method for Mobile Ad-hoc Networks , 2019, EAI Endorsed Trans. Ind. Networks Intell. Syst..

[23]  Tanupriya Choudhury,et al.  Healthcare Information Management System Using Android OS , 2017, 2017 3rd International Conference on Computational Intelligence and Networks (CINE).

[24]  Andrea De Lucia,et al.  Comparing Heuristic and Machine Learning Approaches for Metric-Based Code Smell Detection , 2019, 2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC).

[25]  Luis Cruz,et al.  Using Automatic Refactoring to Improve Energy Efficiency of Android Apps , 2018, CIbSE.

[26]  Li Li,et al.  Do Energy-Oriented Changes Hinder Maintainability? , 2019, 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[27]  S Ergasheva,et al.  Metrics of energy consumption in software systems: a systematic literature review , 2020 .

[28]  Amit Agarwal,et al.  Cloud Resource Optimization System Based on Time and Cost , 2020, International Journal of Mathematical, Engineering and Management Sciences.

[30]  Martin Fowler,et al.  Refactoring - Improving the Design of Existing Code , 1999, Addison Wesley object technology series.

[31]  Andrea De Lucia,et al.  Lightweight detection of Android-specific code smells: The aDoctor project , 2017, 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER).

[32]  William F. Opdyke,et al.  Refactoring object-oriented frameworks , 1992 .