Search papers, labs, and topics across Lattice.
This paper introduces \tool, a framework for automated functional testing of malleable mobile applications driven by user-specified requirements. \tool leverages LLMs to generate GUI tests that navigate the UI, trigger functionalities, and construct oracles for validation. Experiments on six popular mobile apps demonstrate \tool's effectiveness in validating per-user features, highlighting the potential for end-user-driven mobile app development.
End-users can now automatically generate and test their own custom mobile app features, thanks to a new framework that uses LLMs to bridge the gap between user intent and functional verification.
Software malleability allows applications to be easily changed, configured, and adapted even after deployment. While prior work has explored configurable systems, adaptive recommender systems, and malleable GUIs, these approaches are often tailored to specific software and lack generalizability. In this work, we envision per-user malleable mobile applications, where end-users can specify requirements that are automatically implemented via LLM-based code generation. However, realizing this vision requires overcoming the key challenge of designing automated test generation that can reliably verify both the presence and correctness of user-specified functionalities. We propose \tool, a user-requirement-driven GUI test generation framework that incrementally navigates the UI, triggers desired functionalities, and constructs LLM-guided oracles to validate correctness. We build a benchmark spanning six popular mobile applications with both correct and faulty user-requested functionalities, demonstrating that \tool effectively validates per-user features and is practical for real-world deployment. Our work highlights the feasibility of shifting mobile app development from a product-manager-driven to an end-user-driven paradigm.