Full Paper View Go Back

Effectiveness of Code Smells on Energy Profiling of Android Applications

Kritika 1

Section:Research Paper, Product Type: Journal-Paper
Vol.12 , Issue.3 , pp.36-46, Jun-2024


Online published on Jun 30, 2024


Copyright © Kritika . This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
 

View this paper at   Google Scholar | DPI Digital Library


XML View     PDF Download

How to Cite this Paper

  • IEEE Citation
  • MLA Citation
  • APA Citation
  • BibTex Citation
  • RIS Citation

IEEE Style Citation: Kritika, “Effectiveness of Code Smells on Energy Profiling of Android Applications,” International Journal of Scientific Research in Computer Science and Engineering, Vol.12, Issue.3, pp.36-46, 2024.

MLA Style Citation: Kritika "Effectiveness of Code Smells on Energy Profiling of Android Applications." International Journal of Scientific Research in Computer Science and Engineering 12.3 (2024): 36-46.

APA Style Citation: Kritika, (2024). Effectiveness of Code Smells on Energy Profiling of Android Applications. International Journal of Scientific Research in Computer Science and Engineering, 12(3), 36-46.

BibTex Style Citation:
@article{_2024,
author = {Kritika},
title = {Effectiveness of Code Smells on Energy Profiling of Android Applications},
journal = {International Journal of Scientific Research in Computer Science and Engineering},
issue_date = {6 2024},
volume = {12},
Issue = {3},
month = {6},
year = {2024},
issn = {2347-2693},
pages = {36-46},
url = {https://www.isroset.org/journal/IJSRCSE/full_paper_view.php?paper_id=3516},
publisher = {IJCSE, Indore, INDIA},
}

RIS Style Citation:
TY - JOUR
UR - https://www.isroset.org/journal/IJSRCSE/full_paper_view.php?paper_id=3516
TI - Effectiveness of Code Smells on Energy Profiling of Android Applications
T2 - International Journal of Scientific Research in Computer Science and Engineering
AU - Kritika
PY - 2024
DA - 2024/06/30
PB - IJCSE, Indore, INDIA
SP - 36-46
IS - 3
VL - 12
SN - 2347-2693
ER -

81 Views    96 Downloads    20 Downloads
  
  

Abstract :
Bad coding techniques that go against basic design principles known as code smells, have a detrimental effect on the maintainability, performance, and resource utilization of software. The usefulness of code smells for Android application energy profiling is examined in this study. Five distinct code smells are examined, namely, the use of hash maps, internal getter/setter, slow loop, member ignoring method, and god class. Choosing an existing Android application corpus from GitHub, detecting code smells with tools like aDoctor and PMD, manually modifying the smells, and assessing the effect on energy usage with the Android Profiler are the steps in the research approach. As compared to the pre-refactored code, the results show that restructuring code smells improves energy efficiency by lowering memory utilisation and energy consumption levels. The research emphasises on of addressing code smells to optimize resource usage and enhance the overall performance of mobile applications.

Key-Words / Index Term :
Code Smells, Android, Energy Consumption, Energy profiling, CPU profiling, Refactoring

References :
[1] H. Liu, Z. Xu, and Y. Zou, "Deep learning based feature envy detection," in Proc. 33rd ACM/IEEE Int. Conf. Automated Software Engineering (ASE), New York, NY, USA, pp. 385–396, 2018
[2] H. Liu, J. Jin, Z. Xu, Y. Bu, Y. Zou, and L. Zhang, "Deep learning based code smell detection," IEEE Trans. Softw. Eng., 2019.
[3] F. Arcelli Fontana, M. Zanoni, A. Marino, and M. V. Mantyla, "Code smell detection: Towards a machine learning-based approach," in Proc. 29th IEEE Int. Conf. Softw. Maintenance (ICSM), pp. 396–399, 2013 [Online]. Available: https://doi.org/10.1109/ICSM.2013.56
[4] F. Arcelli Fontana, M. V. Mäntylä, M. Zanoni, and A. Marino, "Comparing and experimenting machine learning techniques for code smell detection," Empirical Softw. Eng., vol. 21, no. 3, pp. 1143–1191, 2016.
[5] G. Hecht, N. Moha, and R. Rouvoy, "An empirical study of the performance impacts of android code smells," in Proc. Int. Conf. Mobile Softw. Eng. Syst., pp. 59–69, 2016
[6] A. Banerjee and A. Roy Choudhury, "Automated re-factoring of android apps to enhance energy efficiency," in Proc. Int. Conf. Mobile Softw. Eng. Syst., pp. 139–150, 2016
[7] M. Ghafari, P. Gadient, and O. Nierstrasz, "Security smells in android," in Proc. IEEE 17th Int. Working Conf. Source Code Analysis Manipulation (SCAM), pp. 121–130, 2017
[8] J. Oliveira, M. Viggiato, M. F. Santos, E. Figueiredo, and H. Marques-Neto, "An empirical study on the impact of Android code smells on resource usage," in Proc. SEKE, pp. 314–313, 2018
[9] M. A. Alkandari, A. Kelkawi, and M. O. Elish, "An empirical investigation on the effect of code smells on resource usage of Android mobile applications," IEEE Access, vol. 9, pp. 61853–61863, 2021.
[10] I. Blair. “Mobile app download and usage statistics”, 2019 Available: https://buildfire.com/appstatistics
[11] "Global smartphone sales by operating system from 2009 to 2021," Statista, May 2022. [Online]. Available: https://www.statista.com/statistics/263445/global-smartphone-sales-by-operating-system-since2009/
[12] Y. Liu, C. Xu, and S. C. Cheung, "Characterizing and detecting performance bugs for smartphone applications," in Proc. 36th Int. Conf. Softw. Eng., pp. 1013–1024, 2014
[13] J. Reimann, M. Brylski, and U. Aßmann, "A tool-supported quality smell catalogue for android developers," in Proc. Conf. Modellierung 2014 in the Workshop Modellbasierte und modellgetriebene Softwaremodernisierung–MMSM, vol. 2014.
[14] A. Carette, M. A. Younes, G. Hecht, N. Moha, and R. Rouvoy, "Investigating the energy impact of android smells," in Proc. IEEE 24th Int. Conf. Softw. Analysis, Evolution Reengineering (SANER), pp. 115–126, 2017
[15] M. Brylski, "Android smells catalogue," 2013.
[16] A. C. Bibiano et al., "A quantitative study on characteristics and effect of batch refactoring on code smells," in Proc. ACM/IEEE Int. Symp. Empirical Softw. Eng. Measurement (ESEM), pp. 1–11, 2019.
[17] N. Yoshida, T. Saika, E. Choi, A. Ouni, and K. Inoue, "Revisiting the relationship between code smells and refactoring," in Proc. IEEE 24th Int. Conf. Program Comprehension (ICPC), pp. 1–4, 2016.
[18] F. Palomba et al., "Do they really smell bad? A study on developers` perception of bad code smells," in Proc. IEEE Int. Conf. Softw. Maintenance Evolution, pp. 101–110, 2014
[19] A. Yamashita and L. Moonen, "Do developers care about code smells? An exploratory survey," in Proc. 20th Working Conf. Reverse Eng. (WCRE), pp. 242–251, 2013
[20] M. Tufano et al., "When and why your code starts to smell bad (and whether the smells go away)," IEEE Trans. Softw. Eng., vol. 43, no. 11, pp. 1063–1088, 2017.
[21] M. Tufano et al., "When and why your code starts to smell bad," in Proc. IEEE/ACM 37th IEEE Int. Conf. Softw. Eng., vol. 1, pp. 403–414, 2015
[22] F. Palomba et al., "On the impact of code smells on the energy consumption of mobile applications," Inf. Softw. Technol., vol. 105, pp. 43–55, 2019.
[23] Kritika, "Correlating propensity between code smells and vulnerabilities in Java applications," Int. J. Sci. Res. Comput. Sci. Eng., vol. 11, no. 1, pp. 23-28, 2023.
[24] Kritika, "A deep dive into code smell and vulnerability using machine learning and deep learning techniques," Int. J. Comput. Eng. Res. Trends, vol. 11, no. 4, pp. 32–45, 2024. Available:https://doi.org/10.22362/ijcert/2024/v11/i4/v11i404
[25] A. Banerjee and A. Roy Choudhury, "Automated refactoring of Android apps for energy efficiency: A machine learning approach," IEEE Trans. Softw. Eng., vol. 48, no. 5, pp. 1456-1472, 2022.
[26] F. A. Fontana, M. V. Mantyla, S. Vaucher, and H. Muller, "Comparing and experimenting machine learning techniques for code smell detection," Empirical Softw. Eng., vol. 25, no. 3, pp. 2261-2302, 2020.
[27] M. Ghafari, O. Nierstrasz, and S. Demeyer, "Security smells in mobile apps: An empirical study," Inf. Softw. Technol., vol. 146, p. 107014, 2023.
[28] H. Liu, J. Jin, Z. Xu, Y. Bu, Y. Zou, and L. Zhang, "Deep learning based code smell detection," IEEE Trans. Softw. Eng., vol. 45, no. 12, pp. 1191-1209, 2019.
[29] J. Oliveira, M. F. Santos, E. Figueiredo, and H. Marques-Neto, "Code smells in serverless computing: An empirical study," J. Syst. Softw., vol. 172, p. 110892, 2024.
[30] M. Tufano et al., "When and why your code smells: An empirical study," IEEE Trans. Softw. Eng., vol. 47, no. 8, pp. 1608-1627, 2021.
[31] M. Fowler, Refactoring: Improving the Design of Existing Code, 2nd ed. Boston, MA, USA: Addison-Wesley Professional, 2018.
[32] A. Banerjee and A. Roy Choudhury, "Automated refactoring of Android apps for energy efficiency: A machine learning approach," IEEE Trans. Softw. Eng., vol. 48, no. 5, pp. 1456-1472, 2022.
[33] N. Sae-Lim, S. Hayashi, and M. Saeki, "Context-based defect pattern identifier: Method and experiences," Empirical Softw. Eng., vol. 22, no. 6, pp. 2921–2974, 2017.
[34] M. Tufano et al., "When and why your code starts to smell bad (and whether the smells go away)," IEEE Trans. Softw. Eng., vol. 43, no. 11, pp. 1063–1088, 2017.

Authorization Required

 

You do not have rights to view the full text article.
Please contact administration for subscription to Journal or individual article.
Mail us at  support@isroset.org or view contact page for more details.

Go to Navigation