中文

真实缺陷的自动修复:基于 Defects4J 数据集的经验报告

软件工程 2015-12-24 v2

摘要

Defects4J 是一个大型的、经同行评审的结构化真实世界 Java 缺陷数据集。Defects4J 中的每个缺陷都配备了一个测试套件和至少一个触发该缺陷的失败测试用例。在本文中,我们报告了一项探索 Defects4J 上自动修复有效性的实验。我们的实验结果表明,Defects4J 数据集中的 47 个缺陷可以通过最先进的修复技术自动修复。这为未来 Java 自动修复研究设定了基线。我们手动分析了 84 个不同的补丁以评估其真实正确性。总体而言,9 个真实 Java 缺陷可以通过基于测试套件的修复被正确修复。该分析表明,基于测试套件的修复受限于欠规范缺陷,对于此类缺陷,平凡且不正确的补丁仍能通过测试套件。在实际应用性方面,找到一个补丁平均耗时 14.8 分钟。实验在科学网格上进行,总计 17.6 天的计算时间。为了促进未来的自动修复研究,他们的所有系统和实验结果均在 Github 上公开可用。

关键词

引用

@article{arxiv.1505.07002,
  title  = {Automatic Repair of Real Bugs: An Experience Report on the Defects4J Dataset},
  author = {Matias Martinez and Thomas Durieux and Jifeng Xuan and Romain Sommerard and Martin Monperrus},
  journal= {arXiv preprint arXiv:1505.07002},
  year   = {2015}
}