回到未来!研究 Defects4J 中的数据洁净度及其对缺陷定位的影响
软件工程
2024-08-09 v3
摘要
在软件测试研究中,Defects4J 作为主要的基准数据集脱颖而出,为研究来自知名开源系统的真实缺陷提供了受控环境。然而,先前的研究表明,Defects4J 可能包含在缺陷报告之后添加的测试,这些测试嵌入了开发者知识并影响了缺陷定位的有效性。在本文中,我们考察了 Defects4J 的缺陷触发测试,强调其中开发者知识对基于频谱的缺陷定位(SBFL)技术的影响。我们研究了这些测试相对于缺陷报告创建时间线的变更情况。随后,我们研究了在无测试开发者知识的情况下 SBFL 技术的有效性。我们发现:1)55% 的缺陷触发测试是新添加的,用于复现缺陷或进行回归测试;2)22% 的缺陷触发测试在缺陷报告创建后被修改,包含了开发者对缺陷的知识;3)开发者经常修改测试以加入新的断言或更改测试代码以反映源代码中的变更;4)当在无开发者知识的缺陷上评估时,SBFL 技术的性能显著下降(Mean First Rank 最高下降达 --415%)。我们提供了一个无开发者洞察的缺陷数据集,有助于 Defects4J 未来的 SBFL 评估,并为未来缺陷基准的设计提供参考。
引用
@article{arxiv.2310.19139,
title = {Back to the Future! Studying Data Cleanness in Defects4J and its Impact on Fault Localization},
author = {Md Nakhla Rafi and An Ran Chen and Tse-Hsun Chen and Shaohua Wang},
journal= {arXiv preprint arXiv:2310.19139},
year = {2024}
}