- 简介CodeLLM的能力在仓库级别生成可执行的、功能正确的代码尚未得到充分探索。我们引入了RepoExec,这是一个用于评估仓库级别代码生成的新型基准。RepoExec关注三个主要方面:可执行性、通过高覆盖率的自动化测试用例生成实现功能正确性、以及精心设计的跨文件上下文以准确生成代码。我们的工作探索了一个受控场景,其中开发人员指定必要的代码依赖项,挑战模型准确地集成这些依赖项。实验表明,尽管预训练的LLM在正确性方面优于指令调整模型,但后者在利用提供的依赖项和展示调试能力方面表现出色。我们还介绍了一个新的指令调整数据集,重点关注代码依赖项,并展示了在我们的数据集上微调的CodeLLMs更好地利用这些依赖项的能力。RepoExec旨在全面评估代码功能和与开发人员意图的一致性,为实际场景中更可靠、更适用的CodeLLMs铺平道路。数据集和源代码可在\url{https://github.com/FSoft-AI4Code/RepoExec}找到。
- 图表
- 解决问题评估CodeLLMs在仓库级别上生成可执行和功能正确的代码的能力还未被充分探索。本论文提出了RepoExec,一个用于评估仓库级别上代码生成的新型基准。RepoExec聚焦于三个主要方面:可执行性、通过高覆盖率的自动化测试用例生成的功能正确性,以及精心制作的跨文件上下文,以准确生成代码。本文探索了一个受控场景,其中开发人员指定了必要的代码依赖项,挑战模型准确地集成这些依赖项。实验表明,尽管预训练的LLMs在正确性方面优于指令调整模型,但后者在利用提供的依赖项和展示调试能力方面表现出色。我们还介绍了一个新的指令调整数据集,重点关注代码依赖关系,并证明在我们的数据集上微调的CodeLLMs具有更好的利用这些依赖关系的能力。RepoExec旨在提供对代码功能和与开发人员意图的一致性的全面评估,为现实世界场景中更可靠和适用的CodeLLMs铺平道路。数据集和源代码可在以下网址找到:https://github.com/FSoft-AI4Code/RepoExec。
- 关键思路本文提出了RepoExec,一个用于评估仓库级别上代码生成的新型基准。RepoExec聚焦于三个主要方面:可执行性、通过高覆盖率的自动化测试用例生成的功能正确性,以及精心制作的跨文件上下文,以准确生成代码。
- 其它亮点本文的亮点包括:探索了仓库级别上代码生成的能力;提出了一个新的指令调整数据集;比较了预训练的LLMs和指令调整模型在利用提供的依赖项和调试能力方面的表现;提供了一个全面的评估代码功能和与开发人员意图的一致性的基准。
- 最近在这个领域中,还有一些相关的研究,如:1. CodeBERT: A Pre-Trained Model for Programming and Natural Language Processing; 2. GPT-2 as Code Completion Model; 3. Code Generation with Transformer; 4. Deep Code Comment Generation。
沙发等你来抢
去评论
评论
沙发等你来抢