Does the Fault Reside in a Stack Trace? Assisting Crash Localization by Predicting Crashing Fault Residence

Yongfeng Gu,Jifeng Xuan,Hongyu Zhang,Lanxin Zhang,Qingna Fan,Xiaoyuan Xie,Tieyun Qian
DOI: https://doi.org/10.1016/j.jss.2018.11.004
2019-01-01
Abstract: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 as predicting 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%. (C) 2018 Published by Elsevier Inc.
What problem does this paper attempt to address?