GitBug-Actions Go Bug-Fix Benchmark
收藏arXiv2024-01-21 更新2024-06-21 收录
下载链接:
https://zenodo.org/records/10034611
下载链接
链接失效反馈官方服务:
资源简介:
GitBug-Actions Go Bug-Fix Benchmark是由里斯本大学理工学院/INESC-ID创建的一个专注于Go语言的bug修复基准数据集。该数据集包含21个完全可重现的bug修复提交,来源于13个不同的GitHub仓库。创建过程中,GitBug-Actions工具利用GitHub Actions平台智能地收集并本地执行CI管道,确保环境控制和可重现性。此数据集主要应用于软件工程领域,特别是自动程序修复(APR)和故障定位(FL)研究,旨在提供高质量、可重现的bug修复案例,以推动相关技术的发展。
GitBug-Actions Go Bug-Fix Benchmark is a Go-language-focused bug-fix benchmark dataset developed by Instituto Superior Técnico/INESC-ID of the University of Lisbon. This dataset includes 21 fully reproducible bug-fix commits sourced from 13 distinct GitHub repositories. During its creation, the GitBug-Actions tool leveraged the GitHub Actions platform to intelligently collect and locally execute CI pipelines, ensuring strict environmental control and reproducibility. This dataset is primarily applied in the field of software engineering, particularly for research on automatic program repair (APR) and fault localization (FL), aiming to provide high-quality, reproducible bug-fix cases to advance the development of related technologies.
提供机构:
里斯本大学理工学院/INESC-ID
创建时间:
2023-10-24
搜集汇总
数据集介绍

构建方式
在软件工程领域,构建高质量的缺陷修复基准数据集对于推动自动程序修复和故障定位等研究方向至关重要。GitBug-Actions Go Bug-Fix Benchmark的构建过程依托于GitHub Actions这一主流持续集成平台,通过系统化的流程实现数据采集。该流程首先基于特定标准筛选GitHub上可本地执行的Go语言仓库,随后利用静态分析技术识别包含测试执行命令的工作流,并通过修改工作流配置确保其在本地环境中的兼容性。在收集缺陷修复提交时,工具会分析提交历史,依据预定义的缺陷修复模式(如通过测试状态变化和源代码修改的组合)来识别有效的缺陷修复对。最终,通过构建离线可重现环境,将依赖项和测试执行环境完整封装,确保每个缺陷修复样本在未来仍可被稳定复现。
特点
该数据集的核心特点体现在其高度的可重现性与时效性上。与现有基准数据集相比,GitBug-Actions Go Bug-Fix Benchmark中的所有缺陷修复样本均通过离线环境完整保存了执行所需的全部依赖,有效避免了因第三方服务不可用而导致的退化问题,从而实现了长期可重现性。同时,数据集聚焦于2023年1月的Go语言项目,采集的缺陷修复案例反映了现代软件开发实践与技术栈,减少了数据泄露风险,为基于大语言模型的研究提供了更可靠的评估基础。此外,数据集经过严格的筛选,剔除了存在不稳定测试的样本,确保了每个缺陷修复行为的确定性和一致性。
使用方法
该数据集主要服务于软件工程研究中与缺陷修复相关的实验评估,如自动程序修复和故障定位算法的性能测试。研究人员可通过访问公开的数据存储库获取数据集,其中每个缺陷修复样本均以容器化形式提供,包含完整的执行环境与测试套件。在使用时,用户可在本地离线环境中直接运行容器,复现缺陷版本与修复版本的测试执行过程,从而验证修复效果或评估算法性能。数据集的结构化设计支持对不同仓库和缺陷类型的横向比较,为实证研究提供了标准化、可重复的实验基础。
背景与挑战
背景概述
在软件工程领域,缺陷修复基准数据集对于推动自动程序修复与故障定位等子领域的发展具有关键作用。GitBug-Actions Go Bug-Fix Benchmark由里斯本大学与瑞典皇家理工学院的Nuno Saavedra、André Silva及Martin Monperrus等研究人员于2024年提出,旨在构建一个现代化且完全可复现的缺陷修复基准。该数据集的核心研究问题聚焦于如何利用GitHub Actions这一主流持续集成平台,自动化收集并固化真实环境中的缺陷修复样本,以解决现有基准如Defects4J因更新滞后与可复现性不足而面临的挑战。其创新性在于首次将GitHub Actions应用于缺陷修复的收集与复现过程,为软件工程实验提供了时效性强且科学严谨的数据支撑,对相关领域的方法评估与技术进步产生了积极影响。
当前挑战
GitBug-Actions数据集所解决的领域问题在于为自动程序修复与故障定位提供高质量、可执行的缺陷修复基准,其核心挑战包括确保数据集的时效性与代表性,以及实现长期完全可复现性。在构建过程中,研究团队面临多重技术难题:首先,需要精准识别GitHub Actions工作流中的测试执行命令,并适配多种编程语言与构建系统的多样性;其次,在收集缺陷修复提交时,需通过模式匹配区分源代码变更与测试变更,以排除无关修改的干扰;此外,构建离线复现环境时,必须解决第三方依赖缺失与测试非确定性等难题,通过固化容器状态与多次执行验证来保障每一处缺陷修复的稳定复现。这些挑战共同指向了在动态变化的软件生态中维护基准数据集科学性与实用性的深层复杂性。
常用场景
经典使用场景
在软件工程领域,GitBug-Actions Go Bug-Fix Benchmark 作为一项创新的基准数据集,其经典使用场景聚焦于自动程序修复与故障定位研究。该数据集通过集成GitHub Actions平台,系统性地收集并构建了完全可复现的Go语言缺陷修复样本,为研究者提供了反映现代开发实践的真实缺陷案例。其核心价值在于能够支持对修复算法的有效性进行严格评估,同时确保实验环境的一致性与长期可执行性,从而推动了软件质量保障技术的实证研究进程。
衍生相关工作
围绕GitBug-Actions基准数据集,已衍生出一系列关注软件缺陷分析与修复的经典研究工作。这些工作不仅扩展了该数据集在多编程语言与构建系统上的适用性,还进一步探索了基于机器学习与大型语言模型的缺陷自动修复技术。同时,相关研究也深入探讨了缺陷定位算法的优化策略,以及如何利用可复现环境提升实验的可信度。这些衍生成果共同丰富了软件工程领域的实证研究体系,并为后续的基准构建与评估方法提供了重要的参考框架。
数据集最近研究
最新研究方向
在软件工程领域,缺陷修复基准数据集对于推动自动程序修复和故障定位等研究方向至关重要。GitBug-Actions Go Bug-Fix Benchmark 通过集成GitHub Actions这一主流持续集成平台,构建了具备完全可重现性的现代缺陷修复数据集,有效应对了现有基准数据集中样本陈旧和可重现性不足的挑战。该数据集不仅涵盖了Go语言在2023年的真实缺陷案例,还通过本地化执行和依赖固化技术,确保了长期可执行性,为基于大语言模型的修复方法提供了避免数据泄露风险的评估基础。其前沿性体现在利用实时开发实践捕捉缺陷,促进了软件质量分析工具在动态技术环境下的有效验证,对提升软件可靠性研究的科学严谨性具有显著意义。
相关研究论文
- 1GitBug-Actions: Building Reproducible Bug-Fix Benchmarks with GitHub Actions里斯本大学理工学院/INESC-ID · 2024年
以上内容由遇见数据集搜集并总结生成



