Abstract
In the rapidly evolving landscape of mobile applications, the demand for high-quality, performance-driven software is paramount. However, the swift pace of development often leads to the introduction of code smells—bad programming practices that compromise both code quality and application performance. These code smells, if left unaddressed, can result in increased memory consumption, energy consumption, and CPU utilization, ultimately leading to a suboptimal user experience. This paper presents an automated approach for the detection and refactoring of code smells in Android applications, with a focus on improving performance. The proposed approach involves the development of a plugin integrated with Android Studio, which employs static code analysis to identify code smells. The plugin encompasses a customizable rule-based framework that allows for the detection of various code smells unique to Android development. To validate the approach, a comprehensive experiment is conducted. The experiment assesses the effectiveness of the proposed method in detecting code smells and explores the impact of refactoring on application performance. The results showcase that the proposed plugin successfully detects code smells in various open-source Android applications. Moreover, the integration of refactoring recommendations significantly improves the performance of the applications, as demonstrated through memory, energy, and CPU consumption metrics. Comparison with existing tools reveals that the proposed approach offers superior performance in terms of both code smell detection and refactoring. Additionally, the approach bridges the gap left by some existing tools by identifying previously undetected code smells, such as "string concatenation." The presented method not only enhances code quality but also contributes to the overall performance optimization of Android applications. As mobile applications continue to play an increasingly central role in modern life, the importance of maintaining high-quality code that performs optimally cannot be understated. This work provides a valuable contribution towards achieving these goals, offering developers a powerful tool for ensuring that their applications not only meet but exceed user expectations in terms of quality and performance.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.