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

CRUXEval-X

19 种编程语言的代码推理评测,测试输入/输出预测能力

Meta / MIT ·

考察能力

代码推理 跨语言理解 输入输出预测

构建信息

数据规模
19 languages × 800 samples
评测方式
精确匹配
核心指标
pass@1

模型效果排行

🥇 Claude 3.5 Sonnet
~72% avg
🥈 GPT-4o
~69% avg

为什么重要

CRUXEval 原版测试 Python 代码推理,CRUXEval-X 扩展到 19 种编程语言,揭示了 LLM 在不同语言上代码理解能力的巨大差异。

构建方式

  1. 基于 CRUXEval 的 Python 代码片段
  2. 翻译为 18 种其他编程语言
  3. 两个任务:给定输入预测输出(Output)、给定输出预测输入(Input)

任务示例

代码(Python):

def f(s): return s[::-1] + s

Input task:“Given output ‘abccba’, what was the input?” Output task:“Given input ‘abc’, what is the output?”

关键发现

  • Python 和 JavaScript 表现最好
  • Rust、Haskell 等语言准确率低 20+%
  • Input 预测普遍比 Output 预测更难

关联基准

不足与展望

  • 代码片段较短(函数级)
  • 翻译代码可能不符合各语言惯用法
  • 但跨语言对比数据有价值
代码推理 多语言 理解