Affiliation:
1. University of California, Riverside, Riverside, CA, USA
Abstract
Systematic exploration of Android apps is an enabler for a variety of app analysis and testing tasks. Performing the exploration while apps run on actual phones is essential for exploring the full range of app capabilities. However, exploring real-world apps on real phones is challenging due to non-determinism, non-standard control flow, scalability and overhead constraints. Relying on end-users to conduct the exploration might not be very effective: we performed a 7-use study on popular Android apps, and found that the combined 7-use coverage was 30.08% of the app screens and 6.46% of the app methods. Prior approaches for automated exploration of Android apps have run apps in an emulator or focused on small apps whose source code was available. To address these problems, we present A
3
E, an approach and tool that allows substantial Android apps to be explored systematically while running on actual phones, yet without requiring access to the app's source code. The key insight of our approach is to use a static, taint-style, dataflow analysis on the app bytecode in a novel way, to construct a high-level control flow graph that captures legal transitions among activities (app screens). We then use this graph to develop an exploration strategy named
Targeted Exploration
that permits fast, direct exploration of activities, including activities that would be difficult to reach during normal use. We also developed a strategy named
Depth-first Exploration
that mimics user actions for exploring activities and their constituents in a slower, but more systematic way. To measure the effectiveness of our techniques, we use two metrics: activity coverage (number of screens explored) and method coverage. Experiments with using our approach on 25 popular Android apps including BBC News, Gas Buddy, Amazon Mobile, YouTube, Shazam Encore, and CNN, show that our exploration techniques achieve 59.39--64.11% activity coverage and 29.53--36.46% method coverage.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference41 articles.
1. IDC. Android and iOS Surge to New Smartphone OS Record in Second Quarter According to IDC. August 2012. URL http://www.idc.com/getdoc.jsp?containerId=prUS23638712. IDC. Android and iOS Surge to New Smartphone OS Record in Second Quarter According to IDC. August 2012. URL http://www.idc.com/getdoc.jsp?containerId=prUS23638712.
2. Automated testing with targeted event sequence generation
Cited by
69 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Search-based Crash Reproduction for Android Apps;Proceedings of the Genetic and Evolutionary Computation Conference;2024-07-14
2. Aurora: Navigating UI Tarpits via Automated Neural Screen Understanding;2024 IEEE Conference on Software Testing, Verification and Validation (ICST);2024-05-27
3. GuiEvo: Automated Evolution of Mobile App UIs;Proceedings of the 21st International Conference on Mining Software Repositories;2024-04-15
4. An Empirical Study of Regression Testing for Android Apps in Continuous Integration Environment;2023 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM);2023-10-26
5. VRGuide: Efficient Testing of Virtual Reality Scenes via Dynamic Cut Coverage;2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE);2023-09-11