一句话:对 2,486 个 Android 应用的大规模异常进行实证分析,揭示框架特定异常特征并构建定位工具。
论文针对移动应用崩溃频发且缺乏大规模真实异常特征研究的问题,收集了 2,486 个开源 Android 应用的 16,245 条唯一异常轨迹,发现框架特定异常占大多数。随后深入分析 8,243 条框架特定异常,刻画其表现位置与常见故障类别,评估现有缺陷检测技术,并审查其修复。基于这些发现,作者优化动态测试工具 Stoat,并实现异常定位工具 ExLocator。Stoat 在 Gmail 和 Google+ 中快速发现三个此前未知且已确认/修复的崩溃,ExLocator 能精确定位真实应用异常的根因。论文还公开了大规模数据集。
Mobile apps have become ubiquitous. For app developers, it is a key priority to ensure their apps' correctness and reliability. However, many apps still suffer from occasional to frequent crashes, weakening their competitive edge. Large-scale, deep analyses of the characteristics of real-world app crashes can provide useful insights to guide developers, or help improve testing and analysis tools. However, such studies do not exist --- this paper fills this gap. Over a four-month long effort, we have collected 16,245 unique exception traces from 2,486 open-source Android apps, and observed that framework-specific exceptions account for the majority of these crashes. We then extensively investigated the 8,243 framework-specific exceptions (which took six person-months): (1) identifying their characteristics (e.g., manifestation locations, common fault categories), (2) evaluating their manifestation via state-of-the-art bug detection techniques, and (3) reviewing their fixes. Besides the insights they provide, these findings motivate and enable follow-up research on mobile apps, such as bug detection, fault localization and patch generation. In addition, to demonstrate the utility of our findings, we have optimized Stoat, a dynamic testing tool, and implemented ExLocator, an exception localization tool, for Android apps. Stoat is able to quickly uncover three previously-unknown, confirmed/fixed crashes in Gmail and Google+; ExLocator is capable of precisely locating the root causes of identified exceptions in real-world apps. Our substantial dataset is made publicly available to share with and benefit the community.
@inproceedings{paperbot4536,
title = {Large-scale analysis of framework-specific exceptions in Android apps},
author = {Lingling Fan and Ting Su and Sen Chen and Guozhu Meng and Yang Liu and Lihua Xu and Geguang Pu and Zhendong Su},
booktitle = {ICSE},
year = {2018},
doi = {10.1145/3180155.3180222}
}