swe-prbench
收藏SWE-PRBench 数据集概述
数据集基本信息
- 名称:SWE-PRBench
- 许可证:CC BY 4.0
- 任务类别:文本分类
- 主要语言:英语
- 标签:代码审查、基准测试、LLM评估、拉取请求、软件工程
- 数据规模:小于1K
- 配置:
prs:数据文件为dataset/prs.jsonleval_split:数据文件为dataset/evals/eval_100.json
数据集简介
SWE-PRBench 是一个包含 350个具有人工标注真实值(ground truth)的拉取请求 的基准测试,用于评估大型语言模型(LLM)是否能识别出与真实人类评审员在生产代码中标记的相同问题。
该基准测试旨在衡量模型能否像专家评审员一样评估提议的代码更改,这是一个与现有基准(如SWE-Bench)不同的判断任务,没有通过/失败的测试套件,也没有单一正确答案。
关键特性与设计
- 真实值来源:来自真实合并的拉取请求中人类工程师在实际评审过程中撰写的评审评论。数据构建过程中没有生成、合成或修改任何评论。
- 难度分类:每个PR根据可审查问题证据所在位置被分为三种难度类型:
- Type1_Direct (66%):问题直接在更改的代码行中可见。
- Type2_Contextual (21%):问题需要理解更改代码相对于同一文件中周围未更改代码的上下文。
- Type3_Latent (12%):问题存在于导入或依赖于已更改文件的文件中,需要跨文件推理。
- 上下文配置:提供三种固定的上下文配置,用于系统性地消融上下文提供的影响:
- config_A:模拟GitHub PR电子邮件通知,令牌预算2000。
- config_B:模拟GitHub PR网页视图,令牌预算2200。
- config_C:模拟具有完整IDE访问权限的评审员,令牌预算2500。
- 评估重点:专注于问题检测能力评估。
- 评审员验证:法官间一致性κ=0.75(高度一致)。
- 管道版本:v0.4.1。
数据统计概览
| 属性 | 值 |
|---|---|
| 拉取请求总数 | 350 |
| 代码仓库数 | 65个(来自100个RQS合格仓库) |
| 编程语言分布 | Python (69%), JavaScript (11%), Go (10%), TypeScript (6%), Java (4%) |
| 难度类型分布 | Type1_Direct / Type2_Contextual / Type3_Latent |
| 上下文配置 | config_A (2k令牌) / config_B (2.2k令牌) / config_C (2.5k令牌) |
| 真实值 | 真实人类评审员评论,非生成或合成 |
| 法官验证 | κ=0.75(高度一致) |
| 管道版本 | v0.4.1 |
数据集构建流程
- 仓库选择:使用仓库质量分数(RQS)对仓库进行评分,仅包含得分≥60/100的仓库,确保真实值来自具有真实人类评审活动的代码库。
- PR收集与过滤:通过GitHub API收集合并的PR,并经过十阶段硬性过滤(如仅合并状态、至少两条实质性人类评论、非文档更改、排除AI评论等)。
- PR质量评分:使用PR评审价值分数(RVS)对每个PR进行评分,仅RVS ≥ 0.35的PR进入最终数据集。
- 难度分类:根据人类评审员评论的
is_in_diff字段与差异块行范围交叉引用,自动分类难度类型。
构建漏斗:约3000个原始PR → 硬性过滤后700个 → RVS质量筛选后350个。
数据集结构
dataset/ ├── prs.jsonl # 350条PR记录(元数据 + 差异) ├── annotations/ # 350个人工标注文件(真实值) ├── contexts/ # 预构建的上下文 │ ├── config_A/ # 350个config_A上下文 │ ├── config_B/ # 350个config_B上下文 │ └── config_C/ # 350个config_C上下文 └── evals/ └── eval_100.json # 论文中使用的100个PR分层样本
文件格式说明
prs.jsonl:每行一个PR记录,包含任务ID、仓库、语言、难度、RVS分数、差异补丁、提交哈希等字段。annotations/下的JSON文件:包含真实值,即人类评审评论,每个评论有ID、内容、文件、行号、是否在差异中、是否为发起评论等字段。contexts/下的JSON文件:包含预构建的上下文,包括配置名称、管道版本、总令牌数、是否被截断及渲染内容。evals/eval_100.json:包含论文基线评估中使用的100个PR分层样本的描述、数量和任务ID列表。
真实值纳入标准
- 人类撰写
- 发起评论,非回复
- ≥10个单词
- 引用特定的代码行为
- 非纯粹赞扬
引用信息
bibtex @article{kumar2026sweprbench, title={SWE-PRBench: Benchmarking AI Code Review Quality Against Real Pull Request Feedback}, author={Kumar, Deepak}, journal={arXiv preprint}, year={2026} }
相关链接
- 博客文章:https://foundryhq.ai/blog/swe-prbench-benchmarking-ai-code-review-quality
- GitHub仓库:https://github.com/FoundryHQ-AI/swe-prbench
- 排行榜图片:https://huggingface.co/datasets/foundry-ai/swe-prbench/resolve/main/leaderboard.png




