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...

Full description

Saved in:
Bibliographic Details
Main Authors: Muhammad Fawad, Ghulam Rasool, Muhammad Bilal Riaz
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