自动发现、报告与复现 Android 应用崩溃
软件工程
2017-06-06 v1
摘要
由于移动应用普遍具有 GUI 事件驱动的特性以及额外的输入源(如传感器读数),移动开发者在检测和报告应用崩溃时面临独特的挑战。为了支持开发者完成这些任务,我们引入了一种名为 CRASHSCOPE 的新型自动化方法。该工具根据由静态和动态分析提供的多种策略,使用系统化输入生成来探索给定的 Android 应用,其内在目标是触发崩溃。当检测到崩溃时,CRASHSCOPE 会生成一份增强的崩溃报告,其中包含屏幕截图、详细的崩溃复现步骤、捕获的异常堆栈跟踪,以及可在目标设备上自动复现崩溃的完全可重放脚本。我们在 61 个应用上评估了 CRASHSCOPE 发现崩溃的有效性,并将其与五种最先进的 Android 输入生成工具进行了比较。结果表明,CRASHSCOPE 在检测崩溃方面的表现与现有工具大致相当,并能提供更详细的故障信息。此外,在一项分析八个真实世界 Android 应用崩溃的研究中,我们发现 CRASHSCOPE 的报告易于阅读,并且通过提供比人工编写报告更明确的信息,能够可靠地复现崩溃。
引用
@article{arxiv.1706.01130,
title = {Automatically Discovering, Reporting and Reproducing Android Application Crashes},
author = {Kevin Moran and Mario Linares-Vásquez and Carlos Bernal-Cárdenas and Christopher Vendome and Denys Poshyvanyk},
journal= {arXiv preprint arXiv:1706.01130},
year = {2017}
}
备注
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