🤖 AI Summary
Existing dynamic analysis tools struggle to effectively detect behavioral code smells in Android applications, often suffering from high false-negative rates. To address this limitation, this work proposes DynamicsLLM, a novel framework that synergistically integrates large language models (LLMs) with dynamic analysis. DynamicsLLM leverages LLMs to intelligently generate execution traces capable of triggering code smells and introduces a hybrid triggering strategy tailored for apps with few activities, substantially enhancing event coverage. Experimental evaluation on 333 F-Droid applications demonstrates that, under identical operation constraints, DynamicsLLM covers three times as many smell-related events as the original Dynamics tool, achieves a 25.9% improvement in coverage for low-activity apps, and successfully triggers 12.7% of events that were undetectable by the baseline approach.
📝 Abstract
Mobile apps have become essential of our daily lives, making code quality a critical concern for developers. Behavioural code smells are characteristics in the source code that induce inappropriate code behaviour during execution, which negatively impact software quality in terms of performance, energy consumption, and memory. Dynamics, the latest state-of-the-art tool-based method, is highly effective at detecting Android behavioural code smells. While it outperforms static analysis tools, it suffers from a high false negative rate, with multiple code smell instances remaining undetected. Large Language Models (LLMs) have achieved notable advances across numerous research domains and offer significant potential for generating intelligent execution traces, particularly for detecting behavioural code smells in Android mobile applications. By intelligent execution trace, we mean a sequence of events generated by specific actions in a way that triggers the identification of a given behaviour. We propose the following three main contributions in this paper: (1) DynamicsLLM, an enhanced implementation of the Dynamics method that leverages LLMs to intelligently generate execution traces. (2) A novel hybrid approach designed to improve the coverage of code smell-related events in applications with a small number of activities. (3) A comprehensive validation of DynamicsLLM on 333 mobile applications from F-DROID, including a comparison with the Dynamics tool. Our results show that, under a limited number of actions, DynamicsLLM configured with 100% LLM covers three times more code smell-related events than Dynamics. The hybrid approach improves LLM coverage by 25.9% for apps containing few activities. Moreover, 12.7% of the code smell-related events that cannot be triggered by Dynamics are successfully triggered by our tool.