Anchor:定位 Android 框架相关崩溃故障
软件工程
2020-08-05 v1
摘要
Android 框架相关的应用崩溃难以调试。事实上,Android 基于回调的事件驱动机制对为传统 Java 程序开发的崩溃定位技术提出了挑战。关键挑战源于以下事实:错误代码位置甚至可能未列于堆栈跟踪中。例如,我们对来自公开基准的 500 个框架相关崩溃的实证研究显示,37% 的崩溃类型与堆栈跟踪之外的缺陷相关。此外,Android 程序是代码与 Manifest 文件等额外代码制品的混合体。任何制品都可能导致应用执行失败这一事实,产生了将定位目标扩展到代码领域之外的需要。本文提出 Anchor,一种两阶段可疑缺陷定位建议工具。Anchor 专于查找堆栈跟踪之外的崩溃诱发缺陷。Anchor 轻量且独立于源代码,因其仅需崩溃信息与 apk 文件即可定位故障。通过交叉验证与真实数据集评估收集的实验结果表明,Anchor 在定位 Android 框架相关崩溃故障方面是有效的。
引用
@article{arxiv.2008.01676,
title = {Anchor: Locating Android Framework-specific Crashing Faults},
author = {Pingfan Kong and Li Li and Jun Gao and Timothée Riom and Yanjie Zhao and Tegawendé F. Bissyandé and Jacques Klein},
journal= {arXiv preprint arXiv:2008.01676},
year = {2020}
}
备注
12 pages