On the Use of Stack Traces to Improve Text Retrieval-Based Bug Localization

On the Use of Stack Traces to Improve Text Retrieval-Based Bug Localization
复制标题

DOI:
10.1109/icsme.2014.37
复制
发表时间:
2014-09
期刊:
2014 IEEE International Conference on Software Maintenance and Evolution
影响因子:
--
通讯作者:
Laura Moreno;J. Treadway;Andrian Marcus;Wuwei Shen
Laura Moreno;J. Treadway;Andrian Marcus;Wuwei Shen
中科院分区:
其他
文献类型:
--
作者:
Laura Moreno;J. Treadway;Andrian Marcus;Wuwei Shen

文献摘要

被引文献

相似文献

许多bug定位技术依赖于文本检索(TR)模型。最成功的方法是将TR技术与静态分析、动态分析和/或软件存储库信息相结合。动态软件分析和软件存储库挖掘带来了巨大的开销,因为它们分别需要检测和执行软件,以及分析大量数据。我们提出了一种新的静态技术,名为Lobster(利用堆栈跟踪和文本检索定位bug),它旨在改进基于tr的bug定位,而不需要动态分析和存储库挖掘相关的开销。具体来说,我们使用bug报告中提交的堆栈跟踪来计算它们的代码元素与软件系统源代码之间的相似性。我们结合基于堆栈跟踪的相似度和TR技术提供的文本相似度来检索与bug报告相关的代码元素。我们使用包含14个开源软件系统的堆栈跟踪的155个bug报告对Lobster进行了实证评估。我们使用VSM的优化版本Lucene作为比较基线。结果表明,平均而言,Lobster在82%的案例中提高或保持了基于lucene的bug定位的有效性。
Many bug localization techniques rely on Text Retrieval (TR) models. The most successful approaches have been proven to be the ones combining TR techniques with static analysis, dynamic analysis, and/or software repositories information. Dynamic software analysis and software repositories mining bring a significant overhead, as they require instrumenting and executing the software, and analyzing large amounts of data, respectively. We propose a new static technique, named Lobster (Locating Bugs using Stack Traces and text Retrieval), which is meant to improve TR-based bug localization without the overhead associated with dynamic analysis and repository mining. Specifically, we use the stack traces submitted in a bug report to compute the similarity between their code elements and the source code of a software system. We combine the stack trace based similarity and the textual similarity provided by TR techniques to retrieve code elements relevant to bug reports. We empirically evaluated Lobster using 155 bug reports containing stack traces from 14 open source software systems. We used Lucene, an optimized version of VSM, as baseline of comparison. The results show that, in average, Lobster improves or maintains the effectiveness of Lucene-based bug localization in 82% of the cases.