关于通过错误讨论数据来改进SZZ算法
Pooja Rani1, Fernando Petrulio1, Alberto Bacchelli1
1Department of Informatics, University of Zurich, Zurich, Switzerland.
概括
纳入错误讨论细节显著提高了SZZ算法的准确性,以识别引入错误的提交. 这种增强有助于通过分析开发者对话中提到的相关文件,更精确地确定软件缺陷.
科学领域:
- 软件工程 软件工程 软件工程
- 实证软件工程 实证软件工程
- 缺陷分析 缺陷分析
背景情况:
- 软件质量研究通常依赖于历史缺陷数据.
- SZZ算法是基于代码修改识别引入错误的提交的普遍技术.
- 由于纠和幽灵提交等问题,现有的SZZ变体在准确性方面扎.
研究的目的:
- 调查bug讨论内容是否可以提高SZZ算法的准确性.
- 从错误讨论中识别相关的和外部的文件,以提高SZZ的有效性.
- 解决当前SZZ方法在确定缺陷来源方面的局限性.
主要方法:
- 从Mozilla开发人员的手动链接错误报告中获益.
- 创建了包含 12,472 个错误报告的 RoTEB 数据集.
- 手动检查了一份错误报告样本,以评估SZZ的文件相关性.
- 用来自错误讨论的信息来增强SZZ算法,并评估其性能.
主要成果:
- 定义了一个分类系统,用于开发人员在错误讨论中引用文件.
- 观察到,bug讨论中经常提到对SZZ有益的文件.
- 验证了从讨论中整合文件引用可以提高SZZ在确定引入错误的提交时的精度.
- 没有发现对SZZ召回有重大影响.
结论:
- 错误讨论为提高SZZ算法精度提供了有价值的信息.
- RoTEB数据集为未来关于缺陷分析的研究提供了资源.
- 需要进一步的探索,以有效地解决纠和幽灵的承诺.


