EvoCodeBench: 一个与真实世界代码仓库对齐的演化代码生成基准
通过新的基准测试 DevEval,我们评估了 8 种流行的大型语言模型在真实代码库中的编码能力,并发现这些模型的编码能力在真实世界的代码库中存在缺陷。
May, 2024
通过 EvoEval 基准套件的引入,评估 LLM 在编码方面的能力,我们的研究展示了 51 个 LLM 的性能显著下降(平均下降 39.4%),从而显示了现有基准的潜在过拟合,并展示了指令跟随模型在重述或微小更改时的脆弱性以及学习问题组成和分解的重要性。
Mar, 2024
通过 CodeEditorBench,我们为 LLMs 的代码编辑能力提供了一个可靠的评估平台,其中 19 个 LLMs 的评估结果表明闭源模型(特别是 Gemini-Ultra 和 GPT-4)在 CodeEditorBench 中优于开源模型,并突出了基于问题类型和提示敏感性的模型性能差异。
Apr, 2024
通过提出一个与开发者在实践项目中的经验相一致的新基准 DevEval,我们评估了五个热门的大型语言模型在代码生成方面的实际能力,揭示了它们的实际表现,并讨论了在实践项目中代码生成的挑战和未来发展方向。
Jan, 2024
最近的大型语言模型 (LLMs) 的进展显著增强了它们的编码能力。然而,现有的基准主要关注编程的简化或隔离方面,如单文件代码生成或存储库问题调试,无法全面衡量真实世界编程活动引发的各种挑战。为此,我们提出了 DevBench,这是一个全面的基准,评估 LLMs 在软件开发生命周期的各个阶段,包括软件设计、环境设置、实施、验收测试和单元测试。DevBench 涵盖了广泛的编程语言和领域,具备高质量的数据收集,并为每个任务设计和验证了仔细设计的指标。经验证实证研究表明,包括 GPT-4-Turbo 在内的当前 LLMs 未能解决 DevBench 中提出的挑战。分析显示,模型在理解存储库中的复杂结构、管理编译过程和掌握高级编程概念方面存在困难。我们的发现为未来 LLMs 的真实世界编程应用的发展提供了可行的洞察。我们的基准可以在此 https URL 获取。
Mar, 2024
用 CodeBenchGen 框架创建可扩展的基于执行的基准测试,利用大型语言模型将任意代码转换为评估示例,并通过 Exec-CSN 数据集展示了人类和模型在代码生成系统上的性能分析。
Mar, 2024
通过使用开源库完成机器学习任务,本文旨在提出一种新的评估设置,以评估大型语言模型(LLMs)在实际编程中的适用性,并介绍了 ML-Bench 和 ML-Agent 两个工具,用于评估 LLMs 在利用开源函数时的有效性。
Nov, 2023
LLMs 在代码生成任务中展示了显著的潜力,在各种基准测试中在函数或语句级别取得了有希望的结果。然而,在创建类等代码构件方面的复杂性,特别是在实际软件库的背景下,尚未得到充分探索。现有的研究通常将类级生成视为一项孤立的任务,忽视了表征实际软件开发环境的错综复杂的依赖关系和交互作用。为了填补这一空白,我们介绍了 RepoClassBench,这是一个旨在严格评估 LLMs 在创建复杂的类级代码时在实际软件库中的能力的基准测试。RepoClassBench 包括 Java 和 Python 中的自然语言到类的生成任务,来自一组公共软件库。我们确保数据集中的每个类不仅在库内跨文件存在依赖关系,而且还包括相应的测试用例来验证其功能。我们发现目前的模型在我们的基准测试中面临着现实挑战,主要是由于它们对相关库上下文的有限了解。为了解决这个缺点,我们介绍了 Retrieve-Repotools-Reflect (RRR),这是一种新颖的方法,为 LLMs 提供静态分析工具,以迭代地导航和推理库级上下文,并在基于代理的框架中进行。我们的实验表明,RRR 在 RepoClassBench 上明显优于现有基准线,展示了它在不同编程语言和各种设置中的有效性。我们的发现强调了需要结合库级依赖关系以更准确地反映软件开发的复杂性的基准测试的必要性。我们的工作说明了利用专门的工具增强 LLMs 对库上下文的理解的益处。我们计划公开我们的数据集和评估工具。
Apr, 2024
本文提出了一个面向代码的综合、无污染评估系统 LiveCodeBench,其中收集了来自 LeetCode、AtCoder 和 CodeForces 三个竞赛平台的问题,着重评估 LLMs 在代码生成以外的自修复、代码执行和测试输出预测等更广泛的代码相关能力。
Mar, 2024