Boosting Bug-Report-Oriented Fault Localization with Segmentation and Stack-Trace Analysis

Boosting Bug-Report-Oriented Fault Localization with Segmentation and Stack-Trace Analysis
复制标题

DOI:
10.1109/icsme.2014.40
复制
发表时间:
2014-09
期刊:
2014 IEEE International Conference on Software Maintenance and Evolution
影响因子:
--
通讯作者:
Chu-Pan Wong;Yingfei Xiong;Hongyu Zhang;Dan Hao;Lu Zhang;Hong Mei
Chu-Pan Wong;Yingfei Xiong;Hongyu Zhang;Dan Hao;Lu Zhang;Hong Mei
中科院分区:
其他
文献类型:
--
作者:
Chu-Pan Wong;Yingfei Xiong;Hongyu Zhang;Dan Hao;Lu Zhang;Hong Mei

文献摘要

被引文献

相似文献

为了处理释放后错误,许多软件项目为世界各地的用户设置了公共错误存储库,以报告他们遇到的错误。最近,研究人员根据错误报告提出了各种基于信息检索的方法来定位故障。在这些方法中,源文件被作为单个单元处理,其中大文件中的噪声可能会影响故障定位的准确性。此外,错误报告通常包含堆栈跟踪信息,但是现有方法通常将此信息视为纯文本。在本文中,我们建议使用细分和堆栈跟踪分析来提高错误本地化的性能。具体来说,给定一个错误报告,我们将每个源代码文件分为一系列段,并使用与错误报告最相似的段来表示文件。我们还分析了错误报告,以在堆栈跟踪中识别可能的错误文件,并在我们的检索中偏爱这些文件。根据我们的经验结果,我们的方法能够在我们的经验评估中使用所有三个软件项目(即Eclipse,extackJ和SWT)上的所有三个软件项目(即Eclipse,extackJ和SWT)显着改善错误定位器。此外,分割和堆栈跟踪分析是相互互补的,以提高面向错误报告的故障定位的性能。
To deal with post-release bugs, many software projects set up public bug repositories for users all over the world to report bugs that they have encountered. Recently, researchers have proposed various information retrieval based approaches to localizing faults based on bug reports. In these approaches, source files are processed as single units, where noise in large files may affect the accuracy of fault localization. Furthermore, bug reports often contain stack-trace information, but existing approaches often treat this information as plain text. In this paper, we propose to use segmentation and stack-trace analysis to improve the performance of bug localization. Specifically, given a bug report, we divide each source code file into a series of segments and use the segment most similar to the bug report to represent the file. We also analyze the bug report to identify possible faulty files in a stack trace and favor these files in our retrieval. According to our empirical results, our approach is able to significantly improve Bug Locator, a representative fault localization approach, on all the three software projects (i.e., Eclipse, AspectJ, and SWT) used in our empirical evaluation. Furthermore, segmentation and stack-trace analysis are complementary to each other for boosting the performance of bug-report-oriented fault localization.