Search papers, labs, and topics across Lattice.
This paper introduces DynamicsLLM, a novel approach that leverages Large Language Models to generate intelligent execution traces for detecting Android behavioral code smells. By using LLMs to guide the generation of execution traces, DynamicsLLM significantly improves the coverage of code smell-related events compared to the state-of-the-art Dynamics tool, particularly in applications with few activities. Experiments on 333 F-DROID applications demonstrate that DynamicsLLM can trigger 12.7% of code smell-related events missed by Dynamics, and a hybrid approach further boosts LLM coverage by 25.9% in apps with limited activities.
LLMs can intelligently generate Android app execution traces to uncover 12.7% more behavioral code smells than existing dynamic analysis tools miss.
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.