arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2103.02372cs.SEcs.AI
收藏

基于错误报告的根本原因预测

Root cause prediction based on bug reports

Institute of Software Technology(软件技术研究所);Graz University of Technology(格拉茨工业大学)

Thomas Hirsch, Birgit Hofer

摘要:

本文提出了一种有监督的机器学习方法来预测给定错误报告的根本原因。了解错误的根本原因可以帮助开发人员在调试过程中直接或间接地通过选择适当的工具支持调试任务。我们从103个GitHub项目的问题跟踪器中挖掘了54755个已关闭的bug报告,并应用了一组统计学来创建一个由10459个报告组成的基准。根据bug的根本原因,将子集手动分为三组(语义、内存和并发)。由于根本原因的类型分布不均,因此采用了关键词搜索和随机选择相结合的方法。我们的机器学习方法的数据集由369个错误报告组成(122个并发,121个内存和126个语义错误)。错误报告用作自然语言处理算法的输入。我们评估了几个分类器的性能,以预测给定错误报告的根本原因。线性支持向量机取得了最高的平均精度(0.74)和召回(0.72)的分数。创建的错误数据集和分类是公开的。

英文摘要:

This paper proposes a supervised machine learning approach for predicting the root cause of a given bug report. Knowing the root cause of a bug can help developers in the debugging process - either directly or indirectly by choosing proper tool support for the debugging task. We mined 54755 closed bug reports from the issue trackers of 103 GitHub projects and applied a set of heuristics to create a benchmark consisting of 10459 reports. A subset was manually classified into three groups (semantic, memory, and concurrency) based on the bugs' root causes. Since the types of root cause are not equally distributed, a combination of keyword search and random selection was applied. Our data set for the machine learning approach consists of 369 bug reports (122 concurrency, 121 memory, and 126 semantic bugs). The bug reports are used as input to a natural language processing algorithm. We evaluated the performance of several classifiers for predicting the root causes for the given bug reports. Linear Support Vector machines achieved the highest mean precision (0.74) and recall (0.72) scores. The created bug data set and classification are publicly available.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑