Refactoring Android Source Code Smells From Android Applications
As technology advances and new features emerge, the demand for Android applications continues to grow, leading to rapid release schedules. These accelerated development timelines often push developers to make rushed changes, often resulting in suboptimal design practices, commonly known as code smel...
Saved in:
Main Authors: | , , |
---|---|
Format: | Article |
Language: | English |
Published: |
IEEE
2025-01-01
|
Series: | IEEE Access |
Subjects: | |
Online Access: | https://ieeexplore.ieee.org/document/10840228/ |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
_version_ | 1832586843672018944 |
---|---|
author | Muhammad Fawad Ghulam Rasool Muhammad Bilal Riaz |
author_facet | Muhammad Fawad Ghulam Rasool Muhammad Bilal Riaz |
author_sort | Muhammad Fawad |
collection | DOAJ |
description | As technology advances and new features emerge, the demand for Android applications continues to grow, leading to rapid release schedules. These accelerated development timelines often push developers to make rushed changes, often resulting in suboptimal design practices, commonly known as code smells. These issues can degrade application quality, drive up maintenance costs, lead to unexpected behaviors, and complicate evolution and re-engineering efforts. While substantial research has focused on identifying Android-specific and object-oriented code smells, comparatively less attention has been devoted to their systematic refactoring and evaluation. This study introduces a web-based technique, validated through a tool specifically developed to detect 20 Android-specific code smells and automatically refactor 10 of them. Our approach surpasses traditional desktop and plugin solutions by providing easy accessibility, cross-platform compatibility, and eliminating setup requirements. When applied to six open-source and two industrial Android applications and evaluated against the ISO/IEC 25010 quality standard, our tool demonstrated considerable improvements: reducing CPU utilization by 15.39%, lowering memory consumption by 12.85%, and enhancing battery efficiency by up to 5.78%. The tool’s accuracy, validated through precision, recall, and F-measure metrics, achieved averages of 91.81% precision, 97.77% recall, and a 94.67% F-measure. This study enhances the Android application development lifecycle by offering developers a feasible solution for optimizing CPU efficiency, reducing memory use, and minimizing battery consumption. |
format | Article |
id | doaj-art-1c99568ced2244e8aea3a83cbcb614ab |
institution | Kabale University |
issn | 2169-3536 |
language | English |
publishDate | 2025-01-01 |
publisher | IEEE |
record_format | Article |
series | IEEE Access |
spelling | doaj-art-1c99568ced2244e8aea3a83cbcb614ab2025-01-25T00:01:39ZengIEEEIEEE Access2169-35362025-01-0113141221415010.1109/ACCESS.2025.352968710840228Refactoring Android Source Code Smells From Android ApplicationsMuhammad Fawad0https://orcid.org/0009-0009-0560-7147Ghulam Rasool1https://orcid.org/0000-0001-5408-0550Muhammad Bilal Riaz2https://orcid.org/0000-0001-5153-297XSchool of Computing and Innovation, Faculty of Computing, Riphah International University, Lahore Campus, Lahore, PakistanDepartment of Computer Science, COMSATS University Islamabad, Lahore Campus, Lahore, PakistanIT4Innovations, VSB—Technical University of Ostrava, Ostrava, Czech RepublicAs technology advances and new features emerge, the demand for Android applications continues to grow, leading to rapid release schedules. These accelerated development timelines often push developers to make rushed changes, often resulting in suboptimal design practices, commonly known as code smells. These issues can degrade application quality, drive up maintenance costs, lead to unexpected behaviors, and complicate evolution and re-engineering efforts. While substantial research has focused on identifying Android-specific and object-oriented code smells, comparatively less attention has been devoted to their systematic refactoring and evaluation. This study introduces a web-based technique, validated through a tool specifically developed to detect 20 Android-specific code smells and automatically refactor 10 of them. Our approach surpasses traditional desktop and plugin solutions by providing easy accessibility, cross-platform compatibility, and eliminating setup requirements. When applied to six open-source and two industrial Android applications and evaluated against the ISO/IEC 25010 quality standard, our tool demonstrated considerable improvements: reducing CPU utilization by 15.39%, lowering memory consumption by 12.85%, and enhancing battery efficiency by up to 5.78%. The tool’s accuracy, validated through precision, recall, and F-measure metrics, achieved averages of 91.81% precision, 97.77% recall, and a 94.67% F-measure. This study enhances the Android application development lifecycle by offering developers a feasible solution for optimizing CPU efficiency, reducing memory use, and minimizing battery consumption.https://ieeexplore.ieee.org/document/10840228/Android applicationscode smellsrefactoringsoftware quality |
spellingShingle | Muhammad Fawad Ghulam Rasool Muhammad Bilal Riaz Refactoring Android Source Code Smells From Android Applications IEEE Access Android applications code smells refactoring software quality |
title | Refactoring Android Source Code Smells From Android Applications |
title_full | Refactoring Android Source Code Smells From Android Applications |
title_fullStr | Refactoring Android Source Code Smells From Android Applications |
title_full_unstemmed | Refactoring Android Source Code Smells From Android Applications |
title_short | Refactoring Android Source Code Smells From Android Applications |
title_sort | refactoring android source code smells from android applications |
topic | Android applications code smells refactoring software quality |
url | https://ieeexplore.ieee.org/document/10840228/ |
work_keys_str_mv | AT muhammadfawad refactoringandroidsourcecodesmellsfromandroidapplications AT ghulamrasool refactoringandroidsourcecodesmellsfromandroidapplications AT muhammadbilalriaz refactoringandroidsourcecodesmellsfromandroidapplications |