Abstract

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.

Highlights

  • In the past decade, the advent of mobile devices has brought new challenges and paradigms to the existing computing models

  • This paper is an extension of our previous work, in which we introduced the automatic refactoring tool Leafactor (Cruz et al, 2017; Cruz and Abreu, 2018) for the first time

  • Our work presents the automatic refactoring tool Leafactor to improve the energy efficiency of Android application codebases

Read more

Summary

Introduction

The advent of mobile devices has brought new challenges and paradigms to the existing computing models. One of the major challenges is the fact that mobile phones have limited battery life. Energy efficiency is an important nonfunctional requirement in mobile software, with a valuable impact on usability. A study in 2013 reported that 18% of apps have feedback from users that is related to energy consumption (Wilke et al, 2013). Other studies have found that most developers lack the knowledge about best practices for energy efficiency in mobile applications (apps) (Pang et al, 2015; Sahin et al, 2014). It is important to provide developers with actionable documentation and toolsets that aim to help deliver energy efficient apps

Results
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call