CovAgent: Overcoming the 30% Curse of Mobile Application Coverage with Agentic AI and Dynamic Instrumentation
Wei Minn, Biniam Fisseha Demissie, Yan Naing Tun, Jiakun Liu, Mariano Ceccato, Lwin Khin Shar, David Lo
TL;DR
CovAgent addresses the persistent 30% activity-coverage ceiling in automated Android GUI testing by combining agentic AI with a hybrid static-dynamic analysis pipeline and Frida-based dynamic instrumentation. It identifies activation conditions for unreachable activities from decompiled Smali code and CTGs, then generates instrumentation scripts validated in emulators, which are loaded alongside existing fuzzers to broaden exploration. Across 27 apps, CovAgent substantially improves activity, class, method, and line coverage relative to APE, Fastbot, LLMDroid, and Scenedroid, and achieves notable activity-launch success gains. The approach demonstrates the practical potential of agentic AI in automating complex activation-condition reasoning and dynamic code instrumentation, with implications for more reliable, scalable Android app testing and future extensions into automated bug detection and cost-efficient local-model deployment.
Abstract
Automated GUI testing is crucial for ensuring the quality and reliability of Android apps. However, the efficacy of existing UI testing techniques is often limited, especially in terms of coverage. Recent studies, including the state-of-the-art, struggle to achieve more than 30% activity coverage in real-world apps. This limited coverage can be attributed to a combination of factors such as failing to generate complex user inputs, unsatisfied activation conditions regarding device configurations and external resources, and hard-to-reach code paths that are not easily accessible through the GUI. To overcome these limitations, we propose CovAgent, a novel agentic AI-powered approach to enhance Android app UI testing. Our fuzzer-agnostic framework comprises an AI agent that inspects the app's decompiled Smali code and component transition graph, and reasons about unsatisfied activation conditions within the app code logic that prevent access to the activities that are unreachable by standard and widely adopted GUI fuzzers. Then, another agent generates dynamic instrumentation scripts that satisfy activation conditions required for successful transitions to those activities. We found that augmenting existing fuzzing approaches with our framework achieves a significant improvement in test coverage over the state-of-the-art, LLMDroid, and other baselines such as Fastbot and APE (e.g., 101.1%, 116.3% and 179.7% higher activity coverage, respectively). CovAgent also outperforms all the baselines in other metrics such as class, method, and line coverage. We also conduct investigations into components within CovAgent to reveal further insights regarding the efficacy of Agentic AI in the field of automated app testing such as the agentic activation condition inference accuracy, and agentic activity-launching success rate.
