AURORA: Navigating UI Tarpits via Automated Neural Screen Understanding

Safwat Ali Khan,Wenyu Wang,Yiran Ren,Bin Zhu,Jiangfan Shi,Alyssa McGowan,Wing Lam,Kevin Moran
2024-04-02
Abstract:Nearly a decade of research in software engineering has focused on automating mobile app testing to help engineers in overcoming the unique challenges associated with the software platform. Much of this work has come in the form of Automated Input Generation tools (AIG tools) that dynamically explore app screens. However, such tools have repeatedly been demonstrated to achieve lower-than-expected code coverage - particularly on sophisticated proprietary apps. Prior work has illustrated that a primary cause of these coverage deficiencies is related to so-called tarpits, or complex screens that are difficult to navigate.
Software Engineering,Computation and Language,Computer Vision and Pattern Recognition,Human-Computer Interaction
What problem does this paper attempt to address?
The problem that this paper attempts to solve is the inefficiency encountered by automated mobile application testing tools (AIG tools) when exploring complex user interfaces (UIs), especially when these tools encounter so - called "UI Exploration Tarpits". Specifically: 1. **Limitations of Existing Tools**: - Existing AIG tools cannot effectively cover the code in certain specific scenarios (such as complex proprietary applications), especially when facing complex UI screens. - These complex UI screens are called "tarpits" because they require a precise sequence of operations to navigate correctly; otherwise, the testing tools will become stagnant. 2. **Deficiencies in Previous Work**: - Previous research proposed the VET tool to deal with tarpits, but VET has two main limitations: - VET needs to run the AIG tool twice: once to detect potential tarpits, and another time to disable these tarpits and re - explore the application. This increases the testing time. - VET simply disables tarpits instead of attempting to navigate through them, so there are still some application states that cannot be explored. 3. **Goals of AURORA**: - AURORA aims to enable AIG tools to more effectively identify and navigate tarpits through a new automated semantic screen - understanding technique. - The core idea of AURORA is to use a multimodal neural network model to identify the design patterns of mobile application UI screens and apply flexible navigation heuristics based on these patterns, thereby helping AIG tools bypass tarpits and improve code coverage and testing effectiveness. ### Solution Overview The main contributions of AURORA include: - **UI Design Pattern Research**: Identified common design patterns (Design Motifs) in Android UI screens and determined which patterns are likely to become tarpits. - **Multimodal Deep - Learning Method**: Developed a multimodal deep - learning - based method to classify a given UI screen into the identified design patterns. - **Automatic Navigation Heuristic Algorithms**: Designed a series of heuristic algorithms for intelligently generating input sequences to navigate common tarpit categories. - **Framework Implementation**: Implemented the AURORA framework, which can be combined with existing AIG tools to automatically classify screens and apply relevant heuristic algorithms to help AIG tools bypass tarpits. Through these methods, AURORA can significantly improve the code coverage and testing efficiency of AIG tools in practical applications.