遇见数据集

VersionExec

收藏
Hugging Face2026-09-05 更新2026-09-06 收录
官方服务:

资源简介:

该数据集包含编程任务相关的样本,每个样本包括任务ID、完整提示、指令提示、规范解决方案、代码提示、测试代码、入口函数、文档结构和依赖库等字段。数据集分为两个版本(old_version和new_version),每个版本包含316个样本,总数据集大小约为3.86 MB。该数据集适用于代码生成、指令微调或编程任务评估等场景。

This dataset contains samples related to programming tasks. Each sample includes fields such as task ID, full prompt, instruction prompt, canonical solution, code prompt, test code, entry function, document structure, and dependency libraries. The dataset is divided into two versions (old_version and new_version), each containing 316 samples, with a total dataset size of approximately 3.86 MB. It is suitable for scenarios such as code generation, instruction fine-tuning, or programming task evaluation.

创建时间:
2026-08-27
原始信息汇总

VersionExec 数据集详情

基本信息

数据划分

该数据集包含两个子集(split),每个子集均包含 316 条样本

子集名称 样本数量 大小
old_version(旧版本) 316 约 1.93 MB
new_version(新版本) 316 约 1.93 MB

数据字段说明

每条样本包含以下 9 个字段

字段名 类型 说明
task_id string 任务唯一标识符
complete_prompt string 完整提示词
instruct_prompt string 指令提示词
canonical_solution string 标准解决方案(代码)
code_prompt string 代码提示词
test string 测试代码
entry_point string 函数入口点
doc_struct string 文档结构
libs string 相关库/依赖信息

数据特点

  • 该数据集围绕代码版本对比设计,包含 旧版本(old_version)新版本(new_version) 两个对照划分,每个划分样本数量一致,便于进行版本差异分析相关任务。
  • 数据字段涵盖提示词(prompt)、解决方案代码、测试代码及元信息,可用于代码生成、代码修复、版本迁移等自然语言处理与软件工程结合的研究场景。
搜集汇总
数据集介绍
VersionExec 数据集图片
构建方式
VersionExec数据集的构建源于对代码版本演化过程中功能正确性的精细追踪需求。其构建流程首先从众多编程任务中提取核心代码片段,形成包含任务标识、完整提示、指令提示、规范解答、代码提示、测试用例、函数入口点、文档结构及依赖库等多维度信息的初始样本。随后,针对每个样本,通过系统性的代码修改与重构,生成对应的新旧两个版本,分别标记为old_version与new_version,从而构建出一一对应的版本对。每个版本均涵盖了316个实例,确保了数据集的均衡性与可比性。该构建策略不仅保留了代码演变的原始轨迹,还通过严格的测试用例配对各版本的功能表现,为评估代码版本间的行为差异提供了坚实的基础。
特点
VersionExec数据集的核心特色在于其双版本对照结构,这一设计精妙地捕捉了代码迭代的瞬时状态。每个实例均包含完整的编程任务上下文,从问题提示到规范解答,再到可执行测试,构成闭环的评估体系。数据集特别注重细节维度,如文档结构、依赖库信息及函数入口点,这些元素赋予数据丰富的语义层次,便于研究者深入剖析代码变更对功能的影响。此外,独立的旧版与新版分割使得版本差异分析变得直观而可靠。其规模虽精致,但涵盖了多样化的编程场景,确保了研究结论的普适性与针对性,尤其适用于代码版本演化、回归测试及语义保持性等研究领域。
使用方法
VersionExec数据集的使用方法灵活多样,适用于多种代码智能研究场景。研究者可直接利用其双版本分割进行模型性能的对比分析,例如,评估代码生成模型在新旧版本上的鲁棒性,或训练模型预测代码变更后的功能保持性。对于测试生成任务,可借助配套的测试用例与入口点信息,检验生成测试的有效性。文档结构与库依赖数据为代码注释生成、依赖分析等任务提供了天然的训练与评估语料。通过加载HuggingFace数据集API,用户可按需获取old_version或new_version分割,并结合任务编码与规范解答构建特定任务的微调数据集。该数据集亦可用于验证跨版本代码检索、缺陷定位等进阶研究,其结构化字段设计确保了数据加载与预处理的高效性。
背景与挑战
背景概述
VersionExec数据集由研究机构于近年创建,旨在应对代码生成领域中的版本兼容性挑战。随着软件生态系统的快速演进,大型语言模型生成的代码常因依赖库版本更新而失效,这一问题成为制约代码智能发展的关键瓶颈。VersionExec通过结构化的任务设计,将版本感知的代码生成问题形式化,覆盖了任务描述、指令引导、规范解答及测试用例等完整要素,为评估和提升模型在动态环境下的代码生成能力提供了基准。其发布促进了版本敏感型代码合成研究,推动了软件工程与人工智能交叉领域的进步。
当前挑战
VersionExec所解决的领域问题在于,现有代码生成模型多假设静态环境,忽视了真实项目中依赖版本变迁带来的语义漂移,导致生成代码在新版本库中无法执行或功能异常。该数据集为此引入了版本分叉(old_version与new_version)的成对样本,要求模型必须理解版本差异并生成兼容性代码。构建过程中,首要挑战在于精准捕捉库版本间的API变更,需从海量提交记录中筛选具有代表性的升级场景,并确保新旧版本任务的等价性与可测试性。此外,设计能判别版本适应性的测试用例与评价指标亦非易事,需平衡覆盖度与计算成本。VersionExec的构造经验为后续动态代码基准的研发提供了重要参考。
常用场景
经典使用场景
VersionExec数据集为代码版本演进研究提供了独特的双语对照资源,其双拆分设计(old_version与new_version)使研究者能够精准捕获代码变更前后的语义差异。该数据集的核心经典应用在于代码智能领域中的版本感知任务,例如基于历史版本的代码补全、变更日志生成以及语义等价性判断。通过配对的任务样本,模型可学习版本间隐含的修改模式,从而提升对代码动态演化的理解能力。此外,该数据集亦可用于指令微调场景,其complete_prompt与instruct_prompt字段为构建面向代码修订的指令遵循模型提供了高质量的训练语料,助力模型在特定任务中展现更强的适应性与准确性。
解决学术问题
该数据集有效解决了代码版本演化研究中长期存在的标注数据匮乏与真实版本分布缺失问题,为量化代码变更对程序行为的影响提供了可复现的基准。学术界可借助它深入探究代码修订的规律性,例如典型的重构模式、错误修复策略以及功能增强的代码表征方式,进而推动程序理解、缺陷预测与自动程序修复等方向的发展。凭借标准化的标准解与测试用例,VersionExec促进了可验证的实验设计,使研究成果在鲁棒性与泛化性能上得到有力支撑,为代码大模型在持续集成环境下的版本适应性研究奠定了坚实的数据基石,彰显了其在软件工程与人工智能交叉领域的学术价值。
衍生相关工作
基于VersionExec,研究者已衍生出多项具有影响力的工作。一方面,利用其双版本结构开展的代码表示学习研究,提出了融合变更信息的预训练目标,显著增强了模型对代码动态语义的编码能力。另一方面,该数据集推动了代码指令微调技术的发展,衍生出专门面向代码修订的高质量训练范本,促进了后续如CodeLlama等模型在版本更新任务上的性能提升。此外,其构建范式亦被借鉴至其他编程语言生态,催生跨语言代码版本数据集的出现,拓展了该领域的研究边界。VersionExec所催生的相关工作还涉及元学习与少样本学习在代码自动修改中的应用,为模型快速适应新版本提供了创新思路,共同勾勒出代码智能向版本感知与演化适应方向发展的清晰脉络。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务