Automatically Discovering, Reporting and Reproducing Android Application Crashes
arXiv:1706.01130 · doi:10.1109/ICST.2016.34
Abstract
Mobile developers face unique challenges when detecting and reporting crashes in apps due to their prevailing GUI event-driven nature and additional sources of inputs (e.g., sensor readings). To support developers in these tasks, we introduce a novel, automated approach called CRASHSCOPE. This tool explores a given Android app using systematic input generation, according to several strategies informed by static and dynamic analyses, with the intrinsic goal of triggering crashes. When a crash is detected, CRASHSCOPE generates an augmented crash report containing screenshots, detailed crash reproduction steps, the captured exception stack trace, and a fully replayable script that automatically reproduces the crash on a target device(s). We evaluated CRASHSCOPE's effectiveness in discovering crashes as compared to five state-of-the-art Android input generation tools on 61 applications. The results demonstrate that CRASHSCOPE performs about as well as current tools for detecting crashes and provides more detailed fault information. Additionally, in a study analyzing eight real-world Android app crashes, we found that CRASHSCOPE's reports are easily readable and allow for reliable reproduction of crashes by presenting more explicit information than human written reports.
12 pages, in Proceedings of 9th IEEE International Conference on Software Testing, Verification and Validation (ICST'16), Chicago, IL, April 10-15, 2016, pp. 33-44
References in corpus (2)
Cited by in corpus (14)
- CrashScope: A Practical Tool for Automated Testing of Android Applications
- Translating Video Recordings of Mobile App Usages into Replayable Scenarios
- Toward Interactive Bug Reporting for (Android App) End-Users
- AndroR2: A Dataset of Manually Reproduced Bug Reports for Android Applications
- MotorEase: Automated Detection of Motor Impairment Accessibility Issues in Mobile App UIs
- Avgust: Automating Usage-Based Test Generation from Videos of App Executions
- Systematic Mutation-based Evaluation of the Soundness of Security-focused Android Static Analysis Techniques
- Toward the Automated Localization of Buggy Mobile App UIs from Bug Descriptions
- Automated Test Transfer Across Android Apps Using Large Language Models
- Studying Eventual Connectivity Issues in Android Apps
- AURORA: Navigating UI Tarpits via Automated Neural Screen Understanding
- Detecting Connectivity Issues in Android Apps
- SE: Mutation-based Evaluation of Security-focused Static Analysis Tools for Android
- An Evolutionary Approach to Adapt Tests Across Mobile Apps