InduceBenchmark
收藏github2021-11-16 更新2024-05-31 收录
下载链接:
https://github.com/thuan2172001/Analyst_Induce_Benmark
下载链接
链接失效反馈官方服务:
资源简介:
该数据集包含七个不同项目的bug-fixing提交和相关bug-inducing提交的信息,用于研究bug-inducing和bug-fixing提交之间的相关性。
This dataset encompasses information on bug-fixing commits and their corresponding bug-inducing commits across seven distinct projects, aimed at investigating the correlation between bug-inducing and bug-fixing commits.
创建时间:
2021-09-23
原始信息汇总
数据集概述
数据集名称
InduceBenchmark
数据集内容
该数据集包含七个不同项目的bug-fixing commits及其对应的bug-inducing commits,用于支持论文《Exploring and Exploiting the Correlations between Bug-Inducing and Bug-Fixing Commits》。
数据集结构
主要文件
./ACCUMULO.csv: 包含ACCUMULO项目的bug信息,每行包含bug-ID,bug-fixing commit和bug-inducing commit。./Defects4J.csv: 包含Defects4J数据集的bug-inducing commits信息。
项目相关文件夹
./ACCUMULO/: 包含ACCUMULO项目的详细结果,包括FileCoverage,LineCoverage,ActionCoverage和SZZ的结果,以及bug-inducing commits和bug-fixing commits之间的代码演变信息。- 其他项目如
AMBARI,HADOOP,JCR,LUCENE,OOZIE也有类似文件夹。
统计测试结果
./Statistical Testing of Previous Studies/: 包含回顾先前研究的结果,使用R语言运行test.R脚本可生成Table 2的结果。
Defects4J相关文件夹
./Defects4J/: 包含FL在Defects4J上的结果。每个子文件夹包含一个bug的信息,其中ochiai.txt包含SBFL的结果,induced.txt包含使用bug-inducing commits信息的增强模型的结果。
注意事项
- 一个bug可能包含多个bug-inducing commits或bug-fixing commits。
- 当结合
ochiai和增强模型时,需先对ochiai的结果进行标准化处理。
搜集汇总
数据集介绍

构建方式
InduceBenchmark数据集的构建基于七个不同项目的bug修复提交及其相关的bug引入提交。通过分析这些项目的历史提交记录,研究人员识别并标注了每个bug的修复提交和引入提交。数据集以CSV文件形式存储,每个文件对应一个项目,包含bug的ID、修复提交和引入提交的详细信息。此外,数据集还包含了代码覆盖率、SZZ算法的结果以及实验数据的详细信息,进一步丰富了数据集的深度和广度。
使用方法
InduceBenchmark数据集的使用方法灵活多样。研究人员可以通过分析CSV文件中的bug修复和引入提交信息,探索bug引入和修复之间的相关性。数据集中的代码覆盖率信息和SZZ算法结果可用于进一步分析代码变更的影响。对于Defects4J项目,用户可以通过运行R脚本来重现先前研究的结果,并结合SBFL和增强模型进行bug定位分析。使用数据集时,建议先对SBFL结果进行归一化处理,以确保分析结果的准确性。
背景与挑战
背景概述
InduceBenchmark数据集由Ming Wen等研究人员于2019年创建,旨在探索和利用软件缺陷引入与修复提交之间的相关性。该数据集包含了七个不同项目的缺陷修复提交及其相关的缺陷引入提交,主要应用于软件工程领域中的缺陷定位与修复研究。该数据集的研究成果发表在2019年ACM联合欧洲软件工程会议和软件工程基础研讨会(ESEC/FSE)上,为软件缺陷分析提供了重要的数据支持,推动了缺陷预测与修复技术的进步。
当前挑战
InduceBenchmark数据集在构建与应用过程中面临多重挑战。首先,缺陷引入与修复提交的精确识别依赖于复杂的代码演化分析,这对数据集的构建提出了高要求。其次,数据集中的缺陷可能涉及多个引入或修复提交,增加了数据处理的复杂性。此外,如何有效利用缺陷引入信息提升缺陷定位模型的性能,仍是一个亟待解决的难题。这些挑战不仅影响了数据集的构建质量,也对后续研究的深度与广度提出了更高要求。
常用场景
经典使用场景
InduceBenchmark数据集在软件工程领域中被广泛用于研究软件缺陷的引入和修复过程。该数据集通过提供多个开源项目的缺陷修复提交和缺陷引入提交的详细信息,使得研究人员能够深入分析缺陷引入与修复之间的关联性。这种分析不仅有助于理解缺陷的传播路径,还能为自动化缺陷检测和修复工具的开发提供数据支持。
解决学术问题
InduceBenchmark数据集解决了软件工程中一个关键问题:如何准确识别和定位缺陷引入的代码提交。通过提供详细的缺陷引入和修复提交信息,该数据集使得研究人员能够验证和改进现有的缺陷定位算法,如SZZ算法。此外,该数据集还为研究缺陷引入与修复之间的时间间隔、代码变更模式等提供了丰富的数据基础,推动了软件缺陷预测和修复技术的进步。
实际应用
在实际应用中,InduceBenchmark数据集被用于开发和测试自动化缺陷检测工具。例如,基于该数据集的研究成果可以集成到持续集成系统中,帮助开发团队在代码提交阶段及时发现潜在的缺陷。此外,该数据集还被用于培训机器学习模型,以提高缺陷预测的准确性,从而减少软件发布后的缺陷修复成本。
数据集最近研究
最新研究方向
在软件工程领域,InduceBenchmark数据集为研究缺陷引入与修复提交之间的相关性提供了重要支持。该数据集包含了多个开源项目的缺陷修复提交及其相关的缺陷引入提交,为研究者提供了丰富的实验数据。近年来,研究者们利用该数据集深入探讨了缺陷引入与修复提交之间的关联性,并在此基础上开发了新的缺陷定位和修复技术。特别是在基于统计的缺陷定位方法(SBFL)和增强学习模型的结合应用方面,InduceBenchmark数据集展现了其独特的价值。通过分析缺陷引入提交的代码演化过程,研究者能够更准确地识别和修复软件中的缺陷,从而提升软件质量和开发效率。这一研究方向不仅推动了软件缺陷检测技术的进步,也为未来的自动化缺陷修复系统奠定了理论基础。
以上内容由遇见数据集搜集并总结生成



