princeton-nlp/SWE-bench_Lite_bm25_27K
收藏Hugging Face2024-04-15 更新2024-06-11 收录
下载链接:
https://hf-mirror.com/datasets/princeton-nlp/SWE-bench_Lite_bm25_27K
下载链接
链接失效反馈官方服务:
资源简介:
SWE-bench Lite是SWE-bench的一个子集,用于测试系统自动解决GitHub问题的能力。该数据集收集了来自11个流行Python项目的300个测试Issue-Pull Request对。评估通过单元测试验证进行,使用PR后的行为作为参考解决方案。数据集还包括使用Pyserini的BM25检索格式化的每个实例,代码上下文大小限制为27,000个`cl100k_base`标记。`text`列可直接用于语言模型生成补丁文件。
SWE-bench Lite是SWE-bench的一个子集,用于测试系统自动解决GitHub问题的能力。该数据集收集了来自11个流行Python项目的300个测试Issue-Pull Request对。评估通过单元测试验证进行,使用PR后的行为作为参考解决方案。数据集还包括使用Pyserini的BM25检索格式化的每个实例,代码上下文大小限制为27,000个`cl100k_base`标记。`text`列可直接用于语言模型生成补丁文件。
提供机构:
princeton-nlp
原始信息汇总
数据集概述
数据集名称:SWE-bench Lite
数据集特征
- 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个样本,2761169字节
- test: 300个样本,36022389字节
数据集大小
- 下载大小:17538434字节
- 数据集总大小:38783558字节
数据文件配置
- default配置下,数据文件路径如下:
- dev: data/dev-*
- test: data/test-*
数据集用途
该数据集用于测试系统自动解决GitHub问题的能力,通过单元测试验证使用PR后的行为作为参考解决方案。数据集包含300个测试Issue-Pull Request对,来自11个流行的Python项目。
数据集格式
数据集中的text列可以直接用于生成补丁文件,模型被指导使用特定模板生成patch格式的文件。
搜集汇总
数据集介绍

构建方式
在软件工程领域,自动化解决GitHub议题的能力评估日益受到关注。SWE-bench_Lite_bm25_27K数据集作为SWE-bench的一个子集,精心选取了来自11个流行Python项目的300个测试议题与拉取请求对。每个实例通过Pyserini的BM25检索方法进行格式化,并限制代码上下文大小为27,000个cl100k_base标记,这一设计旨在模拟真实开发环境中的信息检索场景。数据构建过程严格遵循单元测试验证原则,以拉取请求后的行为作为参考解决方案,确保了数据的高质量和实用性。
特点
该数据集的核心特征在于其专注于现实世界软件维护任务的评估。每个实例包含议题描述、代码库信息、基础提交哈希及补丁文件等结构化字段,为模型提供了丰富的上下文信息。特别值得注意的是,数据集采用了标准的Unix补丁格式,使得生成的结果可直接应用于实际代码库的修改。通过BM25检索机制,数据集有效模拟了开发者在庞大代码库中定位相关代码片段的挑战,为语言模型处理复杂软件工程问题提供了贴近实际的测试平台。
使用方法
研究人员可利用该数据集直接评估语言模型自动生成代码补丁的能力。使用过程中,模型需根据提供的议题描述和检索到的代码上下文,生成符合Unix补丁格式的修改方案。数据集配套的推理脚本支持完整的评估流程,包括环境设置、补丁应用和单元测试验证。用户可将文本字段输入模型,要求其输出结构化补丁,随后通过自动化测试框架验证生成补丁的正确性,从而系统衡量模型解决实际软件问题的效能。
背景与挑战
背景概述
在人工智能与软件工程交叉领域,自动化代码修复已成为前沿研究方向。SWE-bench Lite数据集由普林斯顿大学自然语言处理团队于2023年推出,其核心研究聚焦于评估大型语言模型解决真实世界GitHub议题的能力。该数据集精选300个Python项目的议题-拉取请求对,通过单元测试验证模型生成的代码补丁是否符合实际开发需求,为软件维护自动化研究提供了标准化评估基准,显著推动了智能编程助手领域的发展。
当前挑战
该数据集旨在解决软件工程中自动化代码修复的复杂挑战,其核心难点在于模型需准确理解自然语言描述的议题、定位代码缺陷并生成符合项目规范的补丁。构建过程中的挑战包括:从海量GitHub历史数据中筛选高质量且可复现的议题-拉取请求对;设计能够精确反映代码行为变化的单元测试验证框架;以及平衡代码上下文信息的规模与计算效率,确保27K令牌的上下文窗口既能涵盖关键信息又不过度增加模型负担。
常用场景
经典使用场景
在软件工程与人工智能交叉领域,SWE-bench_Lite_bm25_27K数据集为评估语言模型在真实代码修复任务中的性能提供了标准化基准。其经典使用场景集中于自动化解决GitHub问题,通过模拟实际开发中的Issue-Pull Request工作流,要求模型基于问题描述和检索到的代码上下文生成符合Unix补丁格式的修正方案。研究者利用该数据集训练和测试模型在复杂代码库环境下的理解与编辑能力,尤其关注模型能否通过单元测试验证,重现人类开发者提交的修复行为。
解决学术问题
该数据集有效应对了代码智能领域长期存在的泛化性评估难题,为衡量模型在真实世界软件维护任务中的表现提供了可复现的量化标准。它解决了传统基准测试与工业实践脱节的问题,将学术研究焦点从合成代码片段转向实际开源项目演变历史。通过构建包含多版本控制信息和测试套件的结构化实例,该数据集推动了对于模型代码推理能力、长期依赖理解以及跨项目适应性的深入研究,显著提升了领域内评估方法的严谨性与实用性。
衍生相关工作
围绕该数据集已衍生出多项标志性研究,包括基于检索增强生成的代码修复架构、针对长上下文代码理解的模型优化方法以及结合强化学习的测试驱动修复框架。相关工作扩展了数据集的原始设计,开发了动态上下文检索机制和分层代码表示技术。部分研究进一步构建了包含多语言版本的扩展基准,推动了跨编程语言的通用代码修复研究。这些衍生工作共同深化了对于语言模型软件工程能力的认识,形成了从基准构建到模型创新再到应用落地的完整研究脉络。
以上内容由遇见数据集搜集并总结生成



