Search papers, labs, and topics across Lattice.
EpiDroid addresses the challenge of reaching deep states in mobile GUI testing by explicitly modeling and exploiting state dependencies between test fragments. It distills execution traces into stable fragments, uses an LLM to reason about the impact of state mutations, and deterministically replays actions to reach desired states. Experiments on 20 real-world apps show that EpiDroid improves code coverage by 10-28% compared to baselines, demonstrating the effectiveness of dependency-guided recomposition.
Unlock hidden app functionality: EpiDroid's dependency-aware recomposition boosts code coverage by 3-4x compared to standard exploration, even with the same budget.
The increasing scale and complexity of mobile applications make automated GUI exploration essential for software quality assurance. However, existing methods often neglect state dependencies between test fragments, which leads to redundant exploration and prevents access to deep application states. We introduce EpiDroid, a black-box, pluggable framework that augments existing explorers through semantic state dependency awareness. EpiDroid distills raw traces into stable test fragments to extract underlying dependencies. It then employs a Recomposition-Replay paradigm to perform impact reasoning via LLM and deterministic replay on high-value mutable state elements. Through iterative feedback, EpiDroid refines the state-dependency graph to systematically reach deep application states. We integrated EpiDroid into both industrial and state-of-the-art research tools and evaluated it on 20 real-world apps. The results show that EpiDroid consistently improves the performance of all baselines, increasing average code coverage by 10--28\% and delivering 3--4$\times$ more coverage gain compared to continuing the baselines alone from the same starting point. This demonstrates that dependency-guided recomposition unlocks deep states that forward exploration cannot access, irrespective of additional budget.