中文

基于程序控制流与数据流图表示的 Defects4J 中 488 个缺陷剖析

软件工程 2025-04-29 v2

摘要

诸如 Defects4J 之类的软件缺陷数据集为每个单独的缺陷提供了其位置和修复,但并未对缺陷进行特征刻画。当前的分类方法使用修复作为代理,但这些代理并未捕捉到缺陷的内在本质。在本文中,我们提出了一种新的、直接的基于程序控制流与数据流图表示的缺陷分类方案。我们的方案包含六个控制流缺陷类和两个数据流缺陷类。我们手动将此方案应用于 Defects4J 数据集中七个项目的 488 个缺陷。我们发现大多数缺陷被分配了一到三个类。我们还发现其中一个数据流缺陷类(定义缺陷)是最常见的单一类别,但大多数缺陷被归类为至少包含一个控制流缺陷类。我们提出的分类可应用于其他缺陷数据集,并可用于改进特定缺陷类的缺陷定位和自动化程序修复技术。

关键词

引用

@article{arxiv.2502.02299,
  title  = {An Anatomy of 488 Faults from Defects4J Based on the Control- and Data-Flow Graph Representations of Programs},
  author = {Alexandra van der Spuy and Bernd Fischer},
  journal= {arXiv preprint arXiv:2502.02299},
  year   = {2025}
}

备注

6 pages, 5 figures, EASE 2025 conference