Search papers, labs, and topics across Lattice.
LDMDroid, a novel Android UI testing framework, leverages LLMs to automate the detection of Data Manipulation Errors (DMEs) by generating state-aware UI event sequences to trigger DMFs. Visual feature analysis is then used to identify data state changes, improving DME verification accuracy. Experiments on 24 real-world apps revealed 17 unique bugs, with a high confirmation and fix rate by developers, demonstrating the effectiveness of the LLM-guided approach.
LLMs can autonomously discover and trigger hard-to-reach data manipulation bugs in Android apps, outperforming traditional UI testing methods.
Android apps rely heavily on Data Manipulation Functionalities (DMFs) for handling app-specific data through CRUDS operations, making their correctness vital for reliability. However, detecting Data Manipulation Errors (DMEs) is challenging due to their dependence on specific UI interaction sequences and manifestation as logic bugs. Existing automated UI testing tools face two primary challenges: insufficient UI path coverage for adequate DMF triggering and reliance on manually written test scripts. To address these issues, we propose an automated approach using Large Language Models (LLMs) for DME detection. We developed LDMDroid, an automated UI testing framework for Android apps. LDMDroid enhances DMF triggering success by guiding LLMs through a state-aware process for generating UI event sequences. It also uses visual features to identify changes in data states, improving DME verification accuracy. We evaluated LDMDroid on 24 real-world Android apps, demonstrating improved DMF triggering success rates compared to baselines. LDMDroid discovered 17 unique bugs, with 14 confirmed by developers and 11 fixed. The tool is publicly available at https://github.com/runnnnnner200/LDMDroid.