论文
PolyCodeEval:从函数到存储库的多语言代码生成基准测试
PolyCodeEval: Benchmarking Multilingual Code Generation from Functions to Repositories
摘要
随着大型语言模型越来越多地转向存储库级软件工程,现有的代码生成基准在语言覆盖范围、任务粒度和评估协议方面仍然支离破碎,阻碍了系统比较。为了解决这一差距,我们推出了 PolyCodeEval,这是一个用于代码生成的统一多语言和多粒度基准。它包含 2,590 个跨函数到存储库的代码生成任务,这些任务源自五种编程语言的 58 个真实的、可执行的开源存储库。所有任务都在基于统一执行的协议下进行评估,并根据其生成目标定制集成程序。在此基准的基础上,我们评估前沿大型语言模型、最先进的专业方法和通用编码代理。我们的结果表明,现有的方法仍然难以跨粒度和语言正确生成完整的代码片段。具体来说,所研究的方法最多分别生成 71.7%、76.7% 和 31.0% 的正确函数、文件和存储库,性能各不相同 广泛跨语言。配对实验进一步表明,同一文件中相关函数的实现上下文提高了函数生成的可执行正确性。方法排名也因任务粒度和编程语言而异,凸显了多语言、多粒度评估对于全面评估代码生成能力的重要性。