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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call