Refactoring Android Source Code Smells From Android Applications - Muhammad Fawad; Ghulam Rasool; Muhammad Bilal Riaz (IEEE Access)
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.