中文

弱测试套件能否修复缺陷?来自 Defects4J 的 50 个缺陷分析

软件工程 2017-05-15 v2

摘要

自动程序修复技术旨在自动为真实世界缺陷生成正确补丁,在过去十年中获得了大量关注。许多不同的技术和工具已被提出并开发。然而,即使是最复杂的程序修复技术也只能修复一小部分缺陷,同时产生大量不正确的补丁。这种低性能的一个可能原因是真实世界程序的测试套件通常太弱,无法保证程序的行为。为了理解弱测试套件能在多大程度上修复缺陷,我们分析了来自 Defects4J 的 50 个真实世界缺陷,发现其中多达 84% 可被正确修复。这一结果表明,当前自动程序修复技术仍有很大的改进空间。此外,我们总结了在定位和修复这些缺陷时有用的七种故障定位策略和七种补丁生成策略,并将这些策略与当前的修复技术进行了比较。结果指出了未来研究中改进自动程序修复的潜在方向。

关键词

引用

@article{arxiv.1705.04149,
  title  = {Can defects be fixed with weak test suites? An analysis of 50 defects from Defects4J},
  author = {Jiajun Jiang and Yingfei Xiong},
  journal= {arXiv preprint arXiv:1705.04149},
  year   = {2017}
}

备注

Submitted to Empirical Software Engineering