Improving Energy Efficiency Through Automatic Refactoring
The ever-growing popularity of mobile phones has brought additional challenges to the software development lifecycle. Mobile applications ought to provide the same set of features as conventional software, with limited resources: such as limited processing capabilities, storage, screen and, not less important, power source. Although energy efficiency is a valuable requirement, developers often lack knowledge of best practices. In this paper, we propose a tool to improve the energy efficiency of Android applications using automatic refactoring — Leafactor. The tool features five energy code smells that tend to go unnoticed. In addition, we study whether automatic refactoring can aid developers to ship energy efficient mobile applications with a dataset of 140 free and open source apps. As a result, we detect and fix code smells in 45 Android apps, from which 40% have successfully merged our changes into the official repository.
This work is licensed under a Creative Commons Attribution 4.0 International License.