Detalhes do Documento

Energy refactorings for Android in the large and in the wild

Autor(es): Couto, Marco ; Saraiva, João ; Fernandes, João Paulo

Data: 2020

Identificador Persistente: https://hdl.handle.net/1822/68615

Origem: RepositóriUM - Universidade do Minho

Assunto(s): Android; Code Patterns; Energy; Refactorings


Descrição

Improving the energy efficiency of mobile applications is a timely goal, as it can contribute to increase a device's usage time, which most often is powered by batteries. Recent studies have provided empirical evidence that refactoring energy-greedy code patterns can in fact reduce the energy consumed by an application. These studies, however, tested the impact of refactoring patterns individually, often locally (e.g., by measuring method-level gains) and using a small set of applications. We studied the application-level impact of refactorings, comparing individual refactorings, among themselves and against the combinations on which they appear. We use scenarios that simulate realistic application usage on a large-scale repository of Android applications. To fully automate the detection and refactoring procedure, as well as the execution of test cases, we developed a publicly available tool called Chimera. Our findings include statistical evidence that i) individual refactorings produce consistent gains, but with different impacts, ii) combining as much refactorings as possible most often, but not always, increases energy savings when compared to individual refactorings, and iii) a few combinations are harmful to energy savings, as they can actually produce more losses than gains. We prepared a set of guidelines for developers to follow, aiding them on deciding how to refactor and consistently reduce energy.

Tipo de Documento Comunicação em conferência
Idioma Inglês
Contribuidor(es) Universidade do Minho
facebook logo  linkedin logo  twitter logo 
mendeley logo

Documentos Relacionados