- 简介为了评估大型语言模型(LLMs)在复杂的现实软件开发场景中的代码生成能力,已经开发了许多评估方法。它们通常利用最新版本项目的上下文代码来帮助LLMs准确生成所需的函数。然而,这种评估方法未考虑软件项目随时间动态演变的情况,我们称之为“演化被忽略”情况,导致未来上下文泄漏和有用上下文缺失的问题。这反过来导致LLMs性能的不准确评估。在本文中,我们进行了一项实证研究,深入了解LLMs在反映软件开发演化性质的环境中的代码生成性能。为了实现这一目标,我们首先构建了一个具有自动化执行评估工具的演化感知的仓库级代码生成数据集,即HumanEvo。其次,我们根据依赖级别手动对HumanEvo进行分类,以更全面地分析模型在生成具有不同依赖级别的函数时的性能。第三,我们使用七个代表性和多样化的LLMs在HumanEvo上进行了广泛的实验,以验证所提出的基准测试的有效性。通过我们的实验研究,我们得出了许多重要的发现。例如,我们发现以前的演化被忽视的评估方法导致LLMs的性能被高估,范围从10.0%到61.1%不等。基于这些发现,我们提出了关于更现实的LLMs代码生成评估的可行建议。我们还建立了一个共享的演化感知的代码生成工具箱,以促进未来的研究。包括源代码、数据集和附录的复制包可在https://github.com/DeepSoftwareAnalytics/EvoEval获得。
- 图表
- 解决问题本论文试图解决LLMs在软件开发中的代码生成能力评估问题,即现有评估方法无法考虑软件项目的动态演化,导致评估结果不准确。
- 关键思路论文提出了一种考虑软件项目演化的代码生成数据集HumanEvo,并使用自动化执行评估工具对LLMs进行评估,发现之前忽略演化的评估方法导致LLMs性能被高估。
- 其它亮点论文通过实验研究发现,之前的评估方法导致LLMs性能被高估,提出了更加真实可靠的评估方法,并构建了共享的代码生成工具箱。论文开源了数据集和代码。
- 相关研究包括代码生成领域的其他评估方法和数据集,以及LLMs在其他任务中的应用研究。
沙发等你来抢
去评论
评论
沙发等你来抢