中文

单语句缺陷出现的频率有多高?ManySStuBs4J数据集

软件工程 2020-04-14 v2 编程语言

摘要

程序修复是一个重要但困难的软件工程问题。实现可接受性能的一种方法是聚焦于简单缺陷类,例如具有单语句修复的缺陷,或匹配一小部分缺陷模板的缺陷。然而,由于尚无关于此类相关缺陷在代码中出现频率的数据集,很难估计修复技术对简单缺陷的召回率。为填补这一空白,我们提供了一个从1000个流行开源Java项目中挖掘出的153,652个单语句缺陷修复变更的数据集,并根据其是否匹配受最先进程序修复技术启发的一组16个缺陷模板进行了标注。在初步分析中,我们发现约33%的简单缺陷修复匹配这些模板,表明相当数量的单语句缺陷可以用相对较小的模板集来修复。此外,我们发现匹配模板的缺陷出现频率约为每1,600-2,500行代码一个缺陷(按项目最新版本规模计量)。我们希望该数据集能成为程序修复未来工作和经验软件工程研究的资源。

关键词

引用

@article{arxiv.1905.13334,
  title  = {How Often Do Single-Statement Bugs Occur? The ManySStuBs4J Dataset},
  author = {Rafael-Michael Karampatsis and Charles Sutton},
  journal= {arXiv preprint arXiv:1905.13334},
  year   = {2020}
}

备注

5 pages; to appear in Proceedings of MSR 2020