nus-yam/ex-repair
收藏Hugging Face2023-10-20 更新2024-03-04 收录
下载链接:
https://hf-mirror.com/datasets/nus-yam/ex-repair
下载链接
链接失效反馈官方服务:
资源简介:
---
license: mit
configs:
- config_name: sequencer-corpus-in
data_files: "corpus-data/sequencer/sequencer_corpus_input.csv"
- config_name: sequencer-corpus-out
data_files: "corpus-data/sequencer/sequencer_corpus_output.csv"
- config_name: sequencer-defects4j-in
data_files: "model-data/sequencer/defects4j_input.csv"
- config_name: sequencer-defects4j-out
data_files: "model-data/sequencer/defects4j_output.csv"
- config_name: sequencer-vul4j-in
data_files: "model-data/sequencer/vul4j_input.csv"
- config_name: sequencer-vul4j-out
data_files: "model-data/sequencer/vul4j_output.csv"
- config_name: sequencer-quixbugs-in
data_files: "model-data/sequencer/quixbugs_input.csv"
- config_name: sequencer-quixbugs-out
data_files: "model-data/sequencer/quixbugs_output.csv"
- config_name: selfapr-defects4j-in
data_files: "model-data/selfapr/defects4j_input.csv"
- config_name: selfapr-defects4j-out
data_files: "model-data/selfapr/defects4j_output.csv"
- config_name: selfapr-vul4j-in
data_files: "model-data/selfapr/vul4j_input.csv"
- config_name: selfapr-vul4j-out
data_files: "model-data/selfapr/vul4j_output.csv"
- config_name: vulrepair-corpus-in
data_files: "corpus-data/vulrepair/bigvul-cwe_input.csv"
- config_name: vulrepair-corpus-out
data_files: "corpus-data/vulrepair/bigvul-cwe_output.csv"
- config_name: vulrepair-bigvul-in
data_files: "model-data/vulrepair/bigvul-cwe_input.csv"
- config_name: vulrepair-bigvul-out
data_files: "model-data/vulrepair/bigvul-cwe_output.csv"
- config_name: recoder-corpus-in
data_files: "corpus-data/recoder/recoder_corpus_*.csv"
- config_name: cvefixes-corpus-in
data_files: "corpus-data/cvefixes/cvefixes_corpus_input.csv"
- config_name: selfapr-corpus-defects4j-in
data_files: "corpus-data/selfapr-perturbations/*.csv"
- config_name: selfapr-corpus-defects4j-Chart-in
data_files: "corpus-data/selfapr-perturbations/Chart*.csv"
- config_name: selfapr-corpus-defects4j-Closure-in
data_files: "corpus-data/selfapr-perturbations/Closure*.csv"
- config_name: selfapr-corpus-defects4j-Lang-in
data_files: "corpus-data/selfapr-perturbations/Lang*.csv"
- config_name: selfapr-corpus-defects4j-Math-in
data_files: "corpus-data/selfapr-perturbations/Math*.csv"
- config_name: selfapr-corpus-defects4j-Mockito-in
data_files: "corpus-data/selfapr-perturbations/Mockito*.csv"
- config_name: selfapr-corpus-defects4j-Time-in
data_files: "corpus-data/selfapr-perturbations/Time*.csv"
---
许可证:MIT
配置项:
- 配置名称:序列器语料输入配置(sequencer-corpus-in),数据文件:"corpus-data/sequencer/sequencer_corpus_input.csv"
- 配置名称:序列器语料输出配置(sequencer-corpus-out),数据文件:"corpus-data/sequencer/sequencer_corpus_output.csv"
- 配置名称:序列器Defects4J输入配置(sequencer-defects4j-in),数据文件:"model-data/sequencer/defects4j_input.csv"
- 配置名称:序列器Defects4J输出配置(sequencer-defects4j-out),数据文件:"model-data/sequencer/defects4j_output.csv"
- 配置名称:序列器Vul4J输入配置(sequencer-vul4j-in),数据文件:"model-data/sequencer/vul4j_input.csv"
- 配置名称:序列器Vul4J输出配置(sequencer-vul4j-out),数据文件:"model-data/sequencer/vul4j_output.csv"
- 配置名称:序列器QuixBugs输入配置(sequencer-quixbugs-in),数据文件:"model-data/sequencer/quixbugs_input.csv"
- 配置名称:序列器QuixBugs输出配置(sequencer-quixbugs-out),数据文件:"model-data/sequencer/quixbugs_output.csv"
- 配置名称:SelfAPR Defects4J输入配置(selfapr-defects4j-in),数据文件:"model-data/selfapr/defects4j_input.csv"
- 配置名称:SelfAPR Defects4J输出配置(selfapr-defects4j-out),数据文件:"model-data/selfapr/defects4j_output.csv"
- 配置名称:SelfAPR Vul4J输入配置(selfapr-vul4j-in),数据文件:"model-data/selfapr/vul4j_input.csv"
- 配置名称:SelfAPR Vul4J输出配置(selfapr-vul4j-out),数据文件:"model-data/selfapr/vul4j_output.csv"
- 配置名称:VulRepair语料输入配置(vulrepair-corpus-in),数据文件:"corpus-data/vulrepair/bigvul-cwe_input.csv"
- 配置名称:VulRepair语料输出配置(vulrepair-corpus-out),数据文件:"corpus-data/vulrepair/bigvul-cwe_output.csv"
- 配置名称:VulRepair BigVul输入配置(vulrepair-bigvul-in),数据文件:"model-data/vulrepair/bigvul-cwe_input.csv"
- 配置名称:VulRepair BigVul输出配置(vulrepair-bigvul-out),数据文件:"model-data/vulrepair/bigvul-cwe_output.csv"
- 配置名称:Recoder语料输入配置(recoder-corpus-in),数据文件:"corpus-data/recoder/recoder_corpus_*.csv"
- 配置名称:CVEFixes语料输入配置(cvefixes-corpus-in),数据文件:"corpus-data/cvefixes/cvefixes_corpus_input.csv"
- 配置名称:SelfAPR语料Defects4J输入配置(selfapr-corpus-defects4j-in),数据文件:"corpus-data/selfapr-perturbations/*.csv"
- 配置名称:SelfAPR语料Defects4J Chart组件输入配置(selfapr-corpus-defects4j-Chart-in),数据文件:"corpus-data/selfapr-perturbations/Chart*.csv"
- 配置名称:SelfAPR语料Defects4J Closure组件输入配置(selfapr-corpus-defects4j-Closure-in),数据文件:"corpus-data/selfapr-perturbations/Closure*.csv"
- 配置名称:SelfAPR语料Defects4J Lang组件输入配置(selfapr-corpus-defects4j-Lang-in),数据文件:"corpus-data/selfapr-perturbations/Lang*.csv"
- 配置名称:SelfAPR语料Defects4J Math组件输入配置(selfapr-corpus-defects4j-Math-in),数据文件:"corpus-data/selfapr-perturbations/Math*.csv"
- 配置名称:SelfAPR语料Defects4J Mockito组件输入配置(selfapr-corpus-defects4j-Mockito-in),数据文件:"corpus-data/selfapr-perturbations/Mockito*.csv"
- 配置名称:SelfAPR语料Defects4J Time组件输入配置(selfapr-corpus-defects4j-Time-in),数据文件:"corpus-data/selfapr-perturbations/Time*.csv"
提供机构:
nus-yam
原始信息汇总
数据集配置详情
Sequencer 数据集
- sequencer-corpus-in
- 数据文件:
corpus-data/sequencer/sequencer_corpus_input.csv
- 数据文件:
- sequencer-corpus-out
- 数据文件:
corpus-data/sequencer/sequencer_corpus_output.csv
- 数据文件:
- sequencer-defects4j-in
- 数据文件:
model-data/sequencer/defects4j_input.csv
- 数据文件:
- sequencer-defects4j-out
- 数据文件:
model-data/sequencer/defects4j_output.csv
- 数据文件:
- sequencer-vul4j-in
- 数据文件:
model-data/sequencer/vul4j_input.csv
- 数据文件:
- sequencer-vul4j-out
- 数据文件:
model-data/sequencer/vul4j_output.csv
- 数据文件:
- sequencer-quixbugs-in
- 数据文件:
model-data/sequencer/quixbugs_input.csv
- 数据文件:
- sequencer-quixbugs-out
- 数据文件:
model-data/sequencer/quixbugs_output.csv
- 数据文件:
SelfAPR 数据集
- selfapr-defects4j-in
- 数据文件:
model-data/selfapr/defects4j_input.csv
- 数据文件:
- selfapr-defects4j-out
- 数据文件:
model-data/selfapr/defects4j_output.csv
- 数据文件:
- selfapr-vul4j-in
- 数据文件:
model-data/selfapr/vul4j_input.csv
- 数据文件:
- selfapr-vul4j-out
- 数据文件:
model-data/selfapr/vul4j_output.csv
- 数据文件:
VulRepair 数据集
- vulrepair-corpus-in
- 数据文件:
corpus-data/vulrepair/bigvul-cwe_input.csv
- 数据文件:
- vulrepair-corpus-out
- 数据文件:
corpus-data/vulrepair/bigvul-cwe_output.csv
- 数据文件:
- vulrepair-bigvul-in
- 数据文件:
model-data/vulrepair/bigvul-cwe_input.csv
- 数据文件:
- vulrepair-bigvul-out
- 数据文件:
model-data/vulrepair/bigvul-cwe_output.csv
- 数据文件:
Recoder 数据集
- recoder-corpus-in
- 数据文件:
corpus-data/recoder/recoder_corpus_*.csv
- 数据文件:
CVEFixes 数据集
- cvefixes-corpus-in
- 数据文件:
corpus-data/cvefixes/cvefixes_corpus_input.csv
- 数据文件:
SelfAPR Corpus 数据集
- selfapr-corpus-defects4j-in
- 数据文件:
corpus-data/selfapr-perturbations/*.csv
- 数据文件:
- selfapr-corpus-defects4j-Chart-in
- 数据文件:
corpus-data/selfapr-perturbations/Chart*.csv
- 数据文件:
- selfapr-corpus-defects4j-Closure-in
- 数据文件:
corpus-data/selfapr-perturbations/Closure*.csv
- 数据文件:
- selfapr-corpus-defects4j-Lang-in
- 数据文件:
corpus-data/selfapr-perturbations/Lang*.csv
- 数据文件:
- selfapr-corpus-defects4j-Math-in
- 数据文件:
corpus-data/selfapr-perturbations/Math*.csv
- 数据文件:
- selfapr-corpus-defects4j-Mockito-in
- 数据文件:
corpus-data/selfapr-perturbations/Mockito*.csv
- 数据文件:
- selfapr-corpus-defects4j-Time-in
- 数据文件:
corpus-data/selfapr-perturbations/Time*.csv
- 数据文件:
搜集汇总
数据集介绍

构建方式
在软件工程领域,自动化程序修复技术正日益成为研究热点,nus-yam/ex-repair数据集的构建体现了这一趋势。该数据集通过整合多个知名缺陷与漏洞基准,如Defects4J、Vul4J和QuixBugs,系统性地收集了包含缺陷的源代码片段及其对应的修复版本。构建过程涉及从原始基准中提取输入输出对,并按照不同修复模型的需求进行结构化组织,形成了涵盖Sequencer、SelfAPR、VulRepair等多种模型训练与评估所需的语料库。这种多源集成与标准化处理方式,为程序修复研究提供了丰富且一致的实验数据基础。
使用方法
为有效利用该数据集进行程序修复研究,研究者需根据具体实验目标选择合适的配置。数据集通过HuggingFace平台提供,使用者可依据config_name加载对应的输入输出文件对。例如,针对基于序列的修复模型,可选用Sequencer相关的配置;若专注于漏洞修复,则可调用VulRepair配置。数据以CSV格式存储,便于直接进行读取与预处理。在实际应用中,这些数据对可用于训练端到端的修复模型,或作为基准测试集来评估模型生成补丁的准确性与有效性,从而推动自动化程序修复技术的迭代与发展。
背景与挑战
背景概述
在软件工程领域,自动化程序修复技术旨在通过智能算法自动识别并修正代码中的缺陷与漏洞,从而提升软件质量与开发效率。nus-yam/ex-repair数据集由新加坡国立大学的研究团队构建,其核心研究问题聚焦于为基于学习的程序修复模型提供高质量、多样化的训练与评估数据。该数据集整合了多个知名缺陷与漏洞基准,如Defects4J、Vul4J和QuixBugs,涵盖了从传统软件缺陷到安全漏洞的广泛修复场景,为推进智能化软件维护研究提供了关键的数据支撑。
当前挑战
该数据集致力于应对自动化程序修复领域的核心挑战,即如何精准建模复杂的代码语义与修复逻辑,以生成正确且可读的补丁。构建过程中,研究人员面临多重困难:需从异构的缺陷跟踪系统中提取并规范化代码变更,确保输入-输出对的准确对齐;同时,必须处理不同编程语言与项目结构的多样性,维持数据的一致性与代表性。此外,数据集的规模与质量平衡亦是一大考验,既要覆盖足够的修复模式以支持模型泛化,又需避免噪声数据对学习过程产生干扰。
常用场景
经典使用场景
在软件工程领域,自动化程序修复技术正逐步成为提升代码质量的关键手段。nus-yam/ex-repair数据集通过整合多个经典缺陷基准,如Defects4J、Vul4J和QuixBugs,为研究人员提供了丰富的缺陷-修复对实例。这些数据被广泛应用于训练和评估基于序列到序列模型的程序修复系统,例如Sequencer和SelfAPR,从而推动自动化修复算法在真实代码场景下的性能优化与泛化能力研究。
解决学术问题
该数据集有效应对了程序修复研究中数据稀缺与质量参差的挑战。通过系统化地收集并标注多种编程缺陷及其对应修复方案,它为学术界提供了标准化的评估基准。这不仅促进了修复模型在准确率与效率方面的量化比较,还深化了对缺陷模式、修复策略及漏洞成因的理论探索,为构建更鲁棒、可解释的智能修复框架奠定了数据基础。
实际应用
在实际开发环境中,nus-yam/ex-repair数据集支撑了自动化代码审查与漏洞修补工具的研发。基于该数据集训练的模型能够集成到持续集成流程中,实时检测并修复代码中的常见错误与安全漏洞,显著降低人工调试成本。尤其在开源软件维护与企业级代码库管理中,这类技术有助于提升软件可靠性,加速迭代周期,并增强系统的整体安全性。
数据集最近研究
最新研究方向
在软件工程领域,自动程序修复技术正逐步迈向智能化与精准化。nus-yam/ex-repair数据集整合了多个经典缺陷库,如Defects4J与Vul4J,为基于深度学习的修复模型提供了丰富的训练与评估资源。当前研究聚焦于利用序列到序列架构及自监督学习机制,探索代码漏洞的自动化定位与修补,旨在提升模型在复杂安全漏洞场景下的泛化能力与修复效率。这一方向不仅响应了软件安全日益严峻的挑战,也推动了智能开发工具在实践中的深化应用,为构建更可靠的软件系统奠定了数据基础。
以上内容由遇见数据集搜集并总结生成



