princeton-nlp/SWE-bench_Lite_oracle
收藏Hugging Face2024-04-15 更新2024-06-11 收录
下载链接:
https://hf-mirror.com/datasets/princeton-nlp/SWE-bench_Lite_oracle
下载链接
链接失效反馈官方服务:
资源简介:
SWE-bench是一个测试系统自动解决GitHub问题能力的数据集。该数据集收集了来自11个流行Python项目的300个测试Issue-Pull Request对。评估通过使用PR后行为作为参考解决方案的单元测试验证进行。数据集以“Oracle”检索设置格式化每个实例,`text`列可直接用于语言模型生成补丁文件。模型被指示使用特定模板生成补丁格式文件。
SWE-bench是一个测试系统自动解决GitHub问题能力的数据集。该数据集收集了来自11个流行Python项目的300个测试Issue-Pull Request对。评估通过使用PR后行为作为参考解决方案的单元测试验证进行。数据集以“Oracle”检索设置格式化每个实例,`text`列可直接用于语言模型生成补丁文件。模型被指示使用特定模板生成补丁格式文件。
提供机构:
princeton-nlp
原始信息汇总
数据集概述
数据集名称
SWE-bench_Lite_oracle
数据集描述
SWE-bench_Lite_oracle 是一个用于测试系统自动解决GitHub问题的数据集。该数据集收集了300个测试的Issue-Pull Request对,来源于11个流行的Python项目。评估通过单元测试验证进行,使用PR后的行为作为参考解决方案。
数据集特征
- instance_id: 字符串
- text: 字符串
- repo: 字符串
- base_commit: 字符串
- problem_statement: 字符串
- hints_text: 字符串
- created_at: 字符串
- patch: 字符串
- test_patch: 字符串
- version: 字符串
- FAIL_TO_PASS: 字符串
- PASS_TO_PASS: 字符串
- environment_setup_commit: 字符串
数据集分割
- dev: 23个示例,1439991字节
- test: 300个示例,20853665字节
数据集大小
- 下载大小: 9371677字节
- 数据集大小: 22293656字节
数据文件配置
- default:
- dev: data/dev-*
- test: data/test-*
搜集汇总
数据集介绍

构建方式
在软件工程领域,自动化解决GitHub议题的需求日益增长,SWE-bench_Lite_oracle数据集应运而生。该数据集基于SWE-bench的核心框架,精心选取了300个测试实例,涵盖11个主流Python项目的Issue-Pull Request配对。构建过程中,研究者从真实GitHub仓库中提取议题与拉取请求,确保每个实例包含问题陈述、代码库信息及基准提交,并采用“Oracle”检索设置格式化数据,以模拟理想环境下的代码补丁生成任务。数据经过严格筛选与验证,确保单元测试的可靠性,为评估语言模型在现实软件开发中的表现提供了坚实基础。
特点
SWE-bench_Lite_oracle数据集以其高度结构化与实用性著称。每个实例均包含唯一标识符、问题文本、仓库详情及补丁文件,特别设计了text列,可直接用于语言模型生成符合Unix补丁格式的代码修改。数据集强调真实世界场景,通过FAIL_TO_PASS和PASS_TO_PASS字段记录测试状态变化,并附带环境设置提交,确保复现性。其轻量版设计聚焦核心任务,避免了冗余信息,同时保持与原始SWE-bench的兼容性,为研究自动化代码修复提供了精准且高效的基准。
使用方法
使用SWE-bench_Lite_oracle数据集时,研究者可借助其标准化格式直接集成到语言模型推理流程中。用户需加载数据集的text列作为输入,引导模型生成遵循特定模板的补丁文件,该模板以diff格式呈现代码变更。随后,可利用SWE-bench官方推理脚本进行自动化评估,通过运行单元测试验证生成补丁的正确性。数据集分为开发集与测试集,便于模型训练与性能测试,整个过程强调端到端的自动化,助力探索语言模型在解决实际软件问题中的潜力与局限。
背景与挑战
背景概述
在人工智能与软件工程交叉领域,自动化代码修复是提升开发效率的关键研究方向。由普林斯顿大学自然语言处理团队于2023年发布的SWE-bench数据集,旨在评估语言模型解决真实GitHub问题的能力。该数据集精心选取了11个流行Python项目的300个Issue-Pull Request对,通过单元测试验证模型生成的补丁是否符合实际修复方案。其核心研究问题聚焦于探索语言模型能否理解复杂代码库上下文并执行精确修改,为自动化软件维护提供了重要的基准测试平台,推动了智能编程助手技术的发展。
当前挑战
SWE-bench数据集主要挑战在于解决真实世界软件工程问题的复杂性。领域层面,模型需准确理解自然语言描述的问题陈述、关联相关代码文件,并生成符合项目规范的语法正确补丁,这要求模型具备跨文件推理和长期依赖处理能力。构建过程中,研究人员面临多重挑战:需从海量GitHub历史中筛选具有代表性的问题-修复对,确保单元测试能可靠验证补丁效果,并设计标准化评估框架以排除环境配置差异带来的干扰。这些挑战共同构成了对现有代码生成模型的严峻考验。
常用场景
经典使用场景
在软件工程与人工智能交叉领域,SWE-bench_Lite_oracle数据集为评估大型语言模型自动解决GitHub问题的能力提供了基准平台。该数据集通过精心构建的Issue-Pull Request对,模拟真实软件开发中的缺陷修复场景,使研究者能够测试模型生成符合单元测试要求的代码补丁。其经典使用场景集中于自动化代码修复任务,模型需基于问题描述和代码上下文,输出标准化的Unix补丁格式,以验证修复方案的正确性与功能性。
解决学术问题
该数据集有效应对了自动化软件维护中的核心挑战,即如何让语言模型理解复杂代码库中的问题并生成可执行的修复方案。它解决了传统方法在泛化性、上下文感知和精确修改方面的局限,为衡量模型在真实世界软件工程任务中的性能提供了量化标准。其意义在于推动了代码智能领域从理论探索向实际应用转变,促进了更可靠、可扩展的自动化开发工具的发展。
衍生相关工作
围绕该数据集,学术界衍生了一系列经典研究工作,包括基于检索增强的代码修复模型、多模态代码理解架构以及针对补丁生成的强化学习框架。这些工作进一步扩展了数据集的用途,推动了如代码变更预测、自动化测试生成和智能编程协作工具等方向的发展,形成了软件工程人工智能研究的重要分支。
以上内容由遇见数据集搜集并总结生成



