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 条
  • [71] Saju N., 2021, 2021 9 INT C REL INF, P1
  • [72] Energy Efficiency Analysis of Code Refactoring Techniques for Green and Sustainable Software in Portable Devices
    Sanlialp, Ibrahim
    Oeztuerk, Muhammed Maruf
    Yigit, Tuncay
    [J]. ELECTRONICS, 2022, 11 (03)
  • [73] Saudi M. M., 2013, Int. J. Comput. Electr. Autom. Control Inf. Eng., V7, P1104
  • [74] SchermellehEngel K., 2003, METHODS PSYCHOL RES, V8, P23, DOI DOI 10.1002/0470010940
  • [75] Shizhe Fu, 2015, 2015 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). Proceedings, P1, DOI 10.1109/ESEM.2015.7321194
  • [76] Quantifying the Effect of Code Smells on Maintenance Effort
    Sjoberg, Dag I. K.
    Yamashita, Aiko
    Anda, Bente C. D.
    Mockus, Audris
    Dyba, Tore
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2013, 39 (08) : 1144 - 1156
  • [77] Assessment of optimum refactoring sequence to improve the software quality of object-oriented software
    Tarwani, Sandhya
    Chug, Anuradha
    [J]. JOURNAL OF INFORMATION & OPTIMIZATION SCIENCES, 2020, 41 (06) : 1433 - 1442
  • [78] Revisiting Code Ownership and its Relationship with Software Quality in the Scope of Modern Code Review
    Thongtanunam, Patanamon
    McIntosh, Shane
    Hassan, Ahmed E.
    Iida, Hajimu
    [J]. 2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2016, : 1039 - 1050
  • [79] Identification of Move Method Refactoring Opportunities
    Tsantalis, Nikolaos
    Chatzigeorgiou, Alexander
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2009, 35 (03) : 347 - 367
  • [80] When and Why Your Code Starts to Smell Bad (and Whether the Smells Go Away)
    Tufano, Michele
    Palomba, Fabio
    Bavota, Gabriele
    Oliveto, Rocco
    Di Penta, Massimiliano
    De Lucia, Andrea
    Poshyvanyk, Denys
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2017, 43 (11) : 1063 - 1088