Does the fault reside in a stack trace? Assisting crash localization by predicting crashing fault residence

Does the fault reside in a stack trace? Assisting crash localization by predicting crashing fault residence
复制标题

错误是否存在于堆栈跟踪中?

DOI:
10.1016/j.jss.2018.11.004
复制
发表时间:
2019
影响因子:
3.5
通讯作者:
Tieyun Qian
Tieyun Qian
中科院分区:
计算机科学2区
文献类型:
--
作者:
Yongfeng Gu;Jifeng Xuan;Hongyu Zhang;Lanxin Zhang;Qingna Fan;Xiaoyuan Xie;Tieyun Qian

文献摘要

相似文献

给定软件崩溃时报告的堆栈跟踪,崩溃本地化旨在查明崩溃的根本原因。崩溃定位是一项耗时且劳动密集型的任务。如果没有工具支持,开发人员必须根据他们的经验花费繁琐的手工工作来检查大量的源代码。在本文中,我们提出了一个自动的方法,即Crater,它预测是否崩溃故障驻留在堆栈跟踪或没有(简称为预测崩溃故障驻留)。我们从堆栈跟踪和源代码中提取了89个特征,以根据已知的崩溃来训练预测模型。然后,我们使用该模型来预测新提交的崩溃的住所。CraTer可以减少崩溃故障的搜索空间,并帮助优先考虑崩溃本地化工作。七个真实项目的碰撞实验结果表明,CraTer可以达到92%以上的平均准确率。
Given a stack trace reported at the time of software crash, crash localization aims to pinpoint the root cause of the crash. Crash localization is known as a time-consuming and labor-intensive task. Without tool support, developers have to spend tedious manual effort examining a large amount of source code based on their experience. In this paper, we propose an automatic approach, namely CraTer, which predicts whether a crashing fault resides in stack traces or not (referred to aspredicting crashing fault residence). We extract 89 features from stack traces and source code to train a predictive model based on known crashes. We then use the model to predict the residence of newly-submitted crashes. CraTer can reduce the search space for crashing faults and help prioritize crash localization efforts. Experimental results on crashes of seven real-world projects demonstrate that CraTer can achieve an average accuracy of over 92%.