๐ค AI Summary
This work addresses the challenge of verifying the presence and correctness of user-specified functionalities in malleable mobile applications that support end-user customizationโa task inadequately handled by existing testing approaches. To bridge this gap, we propose the first automated GUI testing framework tailored to end-user customization requirements. Our method employs incremental UI navigation to precisely trigger target features and leverages large language models to generate test oracles that validate behavioral correctness. This approach pioneers user-driven functional testing automation and demonstrates strong empirical efficacy on a benchmark comprising six mainstream mobile applications, accurately discerning correct from incorrect implementations. The results highlight its practical deployability and potential to shift mobile application development paradigms from product-centric to user-centric.
๐ Abstract
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.