论文
LLM 可以成为有效的代码贡献者吗?开源项目研究
Can LLMs be Effective Code Contributors? A Study on Open-source Projects
摘要
LLM生成的代码被广泛使用,并且LLM生成的提交代码的份额预计会增加。然而,我们还没有达到 LLM 可以成为生产代码的有效贡献者的程度。我们提出了一种方法,揭示了 LLM 生成在此类项目上的缺点,并提出了建议;我们研究的目标是大型开源项目,例如 FFmpeg 和 WolfSSL。首先,我们开发了一个框架,该框架使用验证和验证来评估给定的 LLM 是否适合修复现有项目或向现有项目添加功能。其次,我们将该框架应用于八个流行开源项目和三个 LLM 中的 212 项提交(错误修复和小功能改进):GPT-4o、Ministral3 和 Qwen3-Coder。根据项目的不同,成功率从 0% 到 60% 不等。 LLM 以多种方式失败,从生成语法错误的代码,到生成未通过基本(静态)验证或通过项目测试套件进行验证的代码。特别是,LLM 在生成新代码、处理超出一定大小范围的上下文(函数或文件)方面遇到了困难,在许多情况下,它们的成功归功于重复它们所接受过的代码更改。