CRUXEval: A Benchmark for Code Reasoning, Understanding and Execution

2024年01月05日
  • 简介
    我们提出了CRUXEval(代码推理,理解和执行评估),这是一个基准,包括800个Python函数(3-13行)。每个函数都带有一个输入输出对,导致两个自然任务:输入预测和输出预测。首先,我们提出了一个通用的配方来生成我们的执行基准,可以用于创建未来的基准变化。其次,我们在我们的基准上评估了20个代码模型,并发现许多最近在HumanEval上得分高的模型在我们的基准上没有显示出同样的改进。第三,我们表明简单的CoT和微调方案可以提高我们的基准性能,但仍然远未解决。最佳设置是使用CoT的GPT-4,其输入和输出预测的pass@1分别达到75%和81%。相比之下,Code Llama 34B在输入和输出预测上的pass@1分别为50%和46%,突显了开源和闭源模型之间的差距。由于没有模型接近CRUXEval,因此我们提供了一些关于GPT-4在简单程序上一致失败的示例,作为了解其代码推理能力和改进领域的一种方法。
  • 作者讲解
  • 图表
  • 解决问题
    CRUXEval(代码推理、理解和执行评估)的问题是什么?这是一个新问题吗?
  • 关键思路
    这篇论文的关键思路是什么?相比当前领域的研究,这篇论文的思路有什么新意?
  • 其它亮点
    这篇论文提出了一个通用的方法来生成执行基准测试,评估了20个代码模型的性能,并发现许多最近在HumanEval上得分较高的模型在该基准测试上没有表现出相同的改进。研究还表明,简单的CoT和微调方案可以提高在该基准测试上的性能,但仍远未解决该问题。最佳设置是使用CoT的GPT-4,在输入和输出预测方面分别达到了75%和81%的pass@1。此外,Code Llama 34B在输入和输出预测方面的pass@1分别为50%和46%,突显了开源和闭源模型之间的差距。
  • 相关研究
    最近在该领域中,还有一些相关的研究,如CodeXGLUE、CodeBERT、GraphCodeBERT等。
许愿开讲
PDF
原文
点赞 收藏
向作者提问
NEW
分享到Link

提问交流

提交问题,平台邀请作者,轻松获得权威解答~

向作者提问