Standard

On the Impact of Code Smells on the Energy Consumption of Mobile Applications. / Palomba, Fabio; Di Nucci, Dario; Panichella, Annibale; Zaidman, Andy; De Lucia, Andrea.

In: Information and Software Technology, Vol. 105, 2019, p. 43-55.

Research output: Contribution to journalArticleScientificpeer-review

Harvard

Palomba, F, Di Nucci, D, Panichella, A, Zaidman, A & De Lucia, A 2019, 'On the Impact of Code Smells on the Energy Consumption of Mobile Applications', Information and Software Technology, vol. 105, pp. 43-55. https://doi.org/10.1016/j.infsof.2018.08.004

APA

Palomba, F., Di Nucci, D., Panichella, A., Zaidman, A., & De Lucia, A. (2019). On the Impact of Code Smells on the Energy Consumption of Mobile Applications. Information and Software Technology, 105, 43-55. https://doi.org/10.1016/j.infsof.2018.08.004

Vancouver

Author

Palomba, Fabio ; Di Nucci, Dario ; Panichella, Annibale ; Zaidman, Andy ; De Lucia, Andrea. / On the Impact of Code Smells on the Energy Consumption of Mobile Applications. In: Information and Software Technology. 2019 ; Vol. 105. pp. 43-55.

BibTeX

@article{b0a16620aa6944c78d41736d8fc3e959,
title = "On the Impact of Code Smells on the Energy Consumption of Mobile Applications",
abstract = "Context. The demand for green software design is steadily growing higher especially in the context of mobile devices, where the computation is often limited by battery life. Previous studies found how wrong programming solutions have a strong impact on the energy consumption. Objective. Despite the efforts spent so far, only a little knowledge on the influence of code smells, i.e.,symptoms of poor design or implementation choices, on the energy consumption of mobile applications is available. Method. To provide a wider overview on the relationship between smells and energy efficiency, in this paper we conducted a large-scale empirical study on the influence of 9 Android-specific code smells on the energy consumption of 60 Android apps. In particular, we focus our attention on the design flaws that are theoretically supposed to be related to non-functional attributes of source code, such as performance and energy consumption. Results. The results of the study highlight that methods affected by four code smell types, i.e.,Internal Setter, Leaking Thread, Member Ignoring Method, and Slow Loop, consume up to 87 times more than methods affected by other code smells. Moreover, we found that refactoring these code smells reduces energy consumption in all of the situations. Conclusions. Based on our findings, we argue that more research aimed at designing automatic refactoring approaches and tools for mobile apps is needed.",
keywords = "Code smells, Refactoring, Energy consumption, Mobile apps",
author = "Fabio Palomba and {Di Nucci}, Dario and Annibale Panichella and Andy Zaidman and {De Lucia}, Andrea",
year = "2019",
doi = "10.1016/j.infsof.2018.08.004",
language = "English",
volume = "105",
pages = "43--55",
journal = "Information and Software Technology",
issn = "0950-5849",
publisher = "Elsevier",

}

RIS

TY - JOUR

T1 - On the Impact of Code Smells on the Energy Consumption of Mobile Applications

AU - Palomba, Fabio

AU - Di Nucci, Dario

AU - Panichella, Annibale

AU - Zaidman, Andy

AU - De Lucia, Andrea

PY - 2019

Y1 - 2019

N2 - Context. The demand for green software design is steadily growing higher especially in the context of mobile devices, where the computation is often limited by battery life. Previous studies found how wrong programming solutions have a strong impact on the energy consumption. Objective. Despite the efforts spent so far, only a little knowledge on the influence of code smells, i.e.,symptoms of poor design or implementation choices, on the energy consumption of mobile applications is available. Method. To provide a wider overview on the relationship between smells and energy efficiency, in this paper we conducted a large-scale empirical study on the influence of 9 Android-specific code smells on the energy consumption of 60 Android apps. In particular, we focus our attention on the design flaws that are theoretically supposed to be related to non-functional attributes of source code, such as performance and energy consumption. Results. The results of the study highlight that methods affected by four code smell types, i.e.,Internal Setter, Leaking Thread, Member Ignoring Method, and Slow Loop, consume up to 87 times more than methods affected by other code smells. Moreover, we found that refactoring these code smells reduces energy consumption in all of the situations. Conclusions. Based on our findings, we argue that more research aimed at designing automatic refactoring approaches and tools for mobile apps is needed.

AB - Context. The demand for green software design is steadily growing higher especially in the context of mobile devices, where the computation is often limited by battery life. Previous studies found how wrong programming solutions have a strong impact on the energy consumption. Objective. Despite the efforts spent so far, only a little knowledge on the influence of code smells, i.e.,symptoms of poor design or implementation choices, on the energy consumption of mobile applications is available. Method. To provide a wider overview on the relationship between smells and energy efficiency, in this paper we conducted a large-scale empirical study on the influence of 9 Android-specific code smells on the energy consumption of 60 Android apps. In particular, we focus our attention on the design flaws that are theoretically supposed to be related to non-functional attributes of source code, such as performance and energy consumption. Results. The results of the study highlight that methods affected by four code smell types, i.e.,Internal Setter, Leaking Thread, Member Ignoring Method, and Slow Loop, consume up to 87 times more than methods affected by other code smells. Moreover, we found that refactoring these code smells reduces energy consumption in all of the situations. Conclusions. Based on our findings, we argue that more research aimed at designing automatic refactoring approaches and tools for mobile apps is needed.

KW - Code smells

KW - Refactoring

KW - Energy consumption

KW - Mobile apps

UR - http://www.scopus.com/inward/record.url?scp=85053135385&partnerID=8YFLogxK

U2 - 10.1016/j.infsof.2018.08.004

DO - 10.1016/j.infsof.2018.08.004

M3 - Article

VL - 105

SP - 43

EP - 55

JO - Information and Software Technology

JF - Information and Software Technology

SN - 0950-5849

ER -

ID: 46728499