返回评测
代码生成 代码-理解 未饱和 模态 · 代码 任务 · 选择 / 判断

DebugBench

4,253 个跨语言代码 Bug 调试任务,覆盖 18 种 Bug 类型

Tsinghua University ·

考察能力

Bug 定位 代码调试 错误修复

构建信息

数据规模
4,253 bugs across C++/Java/Python
评测方式
测试用例通过
核心指标
Pass Rate

模型效果排行

🥇 GPT-4o
72.3%
🥈 Claude 3.5 Sonnet
70.1%

为什么重要

DebugBench 专注于代码调试——一个被代码生成基准忽视但在实际开发中极为重要的能力。它覆盖 18 种 Bug 类型(语法错误、逻辑错误、引用错误等),横跨 C++、Java、Python,是评测 LLM 代码理解与修复能力的专项基准。

构建方式

从 LeetCode 题目中收集正确解法,用 GPT-4 按 18 种 Bug 分类注入 Bug。人工验证确保 Bug 是可修复的且测试用例能检测到。

任务示例

  • 原始正确代码 + 注入的 Off-by-One Bug
  • 模型需定位错误行并给出修复
  • 用原始测试用例验证修复正确性

关键发现

  • 逻辑错误的调试难度远高于语法错误
  • 模型在 Python 上的调试能力显著优于 C++
  • Few-shot 示例对调试任务帮助有限

关联基准

Defects4J(真实 Bug)、SWE-bench(仓库级修复)、EvalPlus(代码生成加固)

不足与展望

注入 Bug 的分布可能不代表真实 Bug 的分布。缺乏大型项目中的跨文件 Bug 场景。

调试 代码理解 Bug 修复 多语言