Code smells analysis for android applications and a solution for less battery consumption

被引:0
作者
Gupta, Aakanshi [1 ]
Suri, Bharti [2 ]
Sharma, Deepanshu [3 ]
Misra, Sanjay [4 ,5 ]
Fernandez-Sanz, Luis [6 ]
机构
[1] Amity Univ Uttar Pradesh, Dept Comp Sci & Engn, Noida, India
[2] Guru Gobind Singh Indraprastha Univ, Univ Sch Informat Commun & Technol, New Delhi, India
[3] Guru Gobind Singh Indraprastha Univ, Comp Sci & Engn Dept, New Delhi, India
[4] Ostfold Univ Coll, Dept Comp Sci & Commun, Halden, Norway
[5] Inst Energy Technol, Dept Appl Data Sci, Halden, Norway
[6] Univ Alcala, Dept Comp Sci, Alcala De Henares, Spain
来源
SCIENTIFIC REPORTS | 2024年 / 14卷 / 01期
关键词
Android code smells; Software energy model; Green energy; Refactoring; Machine-learning; Robust statistics; Multi-linear regression; ENERGY-CONSUMPTION; REFACTORING TECHNIQUES; SOFTWARE; IMPACT; BAD;
D O I
10.1038/s41598-024-67660-z
中图分类号
O [数理科学和化学]; P [天文学、地球科学]; Q [生物科学]; N [自然科学总论];
学科分类号
07 ; 0710 ; 09 ;
摘要
In the digitization era, the battery consumption factor plays a vital role for the devices that operate Android software, expecting them to deliver high performance and good maintainability.The study aims to analyze the Android-specific code smells, their impact on battery consumption, and the formulation of a mathematical model concerning static code metrics hampered by the code smells. We studied the impact on battery consumption by three Android-specific code smells, namely: No Low Memory Resolver (NLMR), Slow Loop (SL) and Unclosed Closable, considering 4,165 classes of 16 Android applications. We used a rule-based classification method that aids the refactoring ideology. Subsequently, multi-linear regression (MLR) modeling is used to evaluate battery usage against the software metrics of smelly code instances. Moreover, it was possible to devise a correlation for the software metric influenced by battery consumption and rule-based classifiers. The outcome confirms that the refactoring of the considered code smells minimizes the battery consumption levels. The refactoring method accounts for an accuracy of 87.47% cumulatively. The applied MLR model has an R-square value of 0.76 for NLMR and 0.668 for SL, respectively. This study can guide the developers towards a complete package for the focused development life cycle of Android code, helping them minimize smartphone battery consumption and use the saved battery lives for other operations, contributing to the green energy revolution in mobile devices.
引用
收藏
页数:22
相关论文
共 83 条
  • [51] 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
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2019, 105 : 43 - 55
  • [52] The Scent of a Smell: An Extensive Comparison Between Textual and Structural Smells
    Palomba, Fabio
    Panichella, Annibale
    Zaidman, Andy
    Oliveto, Rocco
    De Lucia, Andrea
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2018, 44 (10) : 977 - 1000
  • [53] On the diffuseness and the impact on maintainability of code smells: a large scale empirical investigation
    Palomba, Fabio
    Bavota, Gabriele
    Di Penta, Massimiliano
    Fasano, Fausto
    Oliveto, Rocco
    De Lucia, Andrea
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2018, 23 (03) : 1188 - 1221
  • [54] Palomba F, 2017, 2017 IEEE INTERNATIONAL WORKSHOP ON MACHINE LEARNING TECHNIQUES FOR SOFTWARE QUALITY EVALUATION (MALTESQUE), P8, DOI 10.1109/MALTESQUE.2017.7882010
  • [55] Palomba F, 2017, 2017 IEEE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), P487, DOI 10.1109/SANER.2017.7884659
  • [56] Mining Version Histories for Detecting Code Smells
    Palomba, Fabio
    Bavota, Gabriele
    Di Penta, Massimiliano
    Oliveto, Rocco
    Poshyvanyk, Denys
    De Lucia, Andrea
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2015, 41 (05) : 462 - 489
  • [57] Do they Really Smell Bad? A Study on Developers' Perception of Bad Code Smells
    Palomba, Fabio
    Bavota, Gabriele
    Di Penta, Massimiliano
    Oliveto, Rocco
    De Lucia, Andrea
    [J]. 2014 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2014, : 101 - 110
  • [58] Park J.J., 2014, SEKE, P717
  • [59] GreenHub: a large-scale collaborative dataset to battery consumption analysis of android devices
    Pereira, Rui
    Matalonga, Hugo
    Couto, Marco
    Castor, Fernando
    Cabral, Bruno
    Carvalho, Pedro
    de Sousa, Simao Melo
    Fernandes, Joao Paulo
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2021, 26 (03)
  • [60] Pinto G., 2015, A Refactoring Approach to Improve Energy Consumption of Parallel Software Systems