返回评测
代码生成 代码-函数级 未饱和 模态 · 代码 任务 · 代码生成

HumanEval+

HumanEval 的增强版,测试用例数量增加 80 倍

UIUC ·

考察能力

代码生成 边界处理 鲁棒性

构建信息

数据规模
164 problems, 13,000+ test cases
评测方式
测试用例通过
核心指标
Pass@1

模型效果排行

🥇 GPT-4o
87.8%
🥈 Claude 3.5 Sonnet
86.2%

为什么重要

HumanEval 原始测试用例太少(平均 7.7 个/题),很多代码虽然通过了全部测试但实际有 Bug。HumanEval+ 将测试用例增加到平均 774 个/题(80倍),结果所有模型的 Pass@1 普遍下降 10-15%。它揭示了”pass HumanEval ≠ 正确”的真相。

构建方式

对 HumanEval 的每道题自动生成大量边界测试用例:空输入、极大值、特殊字符、类型边界等。使用 mutation testing 确保新测试用例能发现更多 Bug。属于 EvalPlus 框架的一部分。

任务示例

  • 原题 HumanEval #1:实现字符串分组函数
  • 原始测试:3 个用例 → HumanEval+:200+ 用例
  • 新增测试覆盖:空字符串、单字符、超长字符串、Unicode 等

关键发现

  • 几乎所有模型在 HumanEval+ 上的得分比 HumanEval 低 10-15%
  • 边界条件处理是主要失败原因
  • 排名变化:某些模型在原版排名高但加固后下降

关联基准

EvalPlus(框架)、HumanEval(原版)、MBPP+(MBPP 加固版)

不足与展望

仍然是函数级评测,无法评估系统级代码质量。自动生成的测试用例可能有误报。

代码生成 加固测试 鲁棒性 经典升级