生成式AI的出现为与代码相关的任务带来了一个新时代,将这一领域从纯粹的手动工作转变为AI辅助的工作流程。大型语言模型(LLMs)已深度融入开发者体验中,提供了从实时代码补全到自动程序修复等多种功能(Hou, 2024; Lajkó, Csuvik, Vidács, 2022; Xiao, Zuo, Lu, Dong, Cao, Beschastnikh, 2025; Xu, Alon, Neubig, Hellendoorn, 2022a)。然而,尽管通用LLMs在自然语言处理方面表现出色(Deepseek, 2024; Deepmind, 2025; Openai, Chatgpt, 2023; Rasool, Shahzad, Aslam, Chan, Arshad, 2025),但它们在编程任务中经常遇到问题,如语法错误、逻辑不一致性和缺乏结构理解(Billah, Roy, Codabux, Roy, 2024; Chang, Shirazi, 2025; Kalyan, 2024; Kotsiantis, Ai, 2024; Lee, 2024b; Pan, 2024; Shah, Stackeval, 2024)。这些局限性主要是由于它们的预训练主要依赖于自然语言语料库,而这些语料库未能充分捕捉编程语言的严格语法和语义规律(Openai, Chatgpt, 2023; Son, Kim, 2023)。
为了解决这些问题,一类专门的模型——代码特定大型语言模型(CSLLMs)应运而生(图1)。在本文中,我们使用“CSLLMs”一词指主要在代码语料库上进行预训练或针对编程任务进行专门微调的模型,而“通用LLMs”则指如GPT-4或Gemini这样的文本聚焦模型。
这些专门模型采用了标识符感知的预训练、检索增强学习和基于执行的评估等技术(Haque, Ahmad, Lourentzou, Brown, 2023; Wang, Wang, Joty, Hoi, 2021; Yang, Chen, Gao, Li, Hu, Liu, Xia, 2025h),使它们在代码生成、修复、摘要、测试和漏洞检测等任务中更为有效(Ai, et al. Codegemma, 2024; Gu, 2025; Kang, 2024)。图2展示了典型的CSLLM处理流程。
2023至2025年间的一系列调查研究了LLMs在软件工程中的应用([107])和评估实践([56],详见表1)。尽管这些研究很有价值,但它们往往(i)将通用LLMs和代码特定LLMs混为一谈,(ii)侧重于描述性列举而非批判性综合,或(iii)忽略了新兴范式,如CSLLM特定的提示和基于执行的评估。因此,目前仍缺乏对CSLLMs的创建、训练和评估方法的全面理解。我们的工作是迄今为止首个专门针对CSLLMs的系统性综合研究(2023–2025),它在一个统一的分析框架内整合了架构、预训练数据集、微调策略、提示技术、评估实践、应用、挑战和未来发展方向。与以往仅关注通用LLMs或将其范围限制在个别任务(如生成、补全或基准测试)的研究不同,我们批判性地分析了312项CSLLM研究(2023-2025),揭示了跨领域的模式、方法论差距和新兴研究趋势。这种统一而全面的视角是我们研究的关键创新点。
为了证明我们是首个专注于CSLLMs的系统性综合研究,我们对表1中列出的六项最新调查进行了轻量级的内容重叠分析。我们的分析显示,任何一项先前的调查都只涵盖了统一分类中不到32%的主题(架构、预训练数据集、提示策略、基于执行的评估、安全风险和CSLLM特定应用),且没有一项研究同时涵盖了三个以上的研究问题维度。此外,对312篇论文的引用网络分析表明,先前的调查所基于的证据基础要小得多且范围更窄(通常为45-120篇论文),且较少包含2024-2025年的CSLLM相关研究,如Code Llama、StarCoder2、DeepSeek-Coder和CodeGemma以及基于代理的管道。这一实证比较表明,我们的综述比现有研究更广泛、更新,从而支持了我们所提供的首个专门针对CSLLMs的全面且系统的综合研究的观点。
鉴于这些不足,我们的调查在以下方面做出了贡献:
1.我们系统地回顾了300多篇(2023-2025年)专门针对CSLLMs的文章,严格区分了它们与通用LLMs,以确保领域特异性。
2.我们构建了一个全面的CSLLMs分类体系(涵盖架构、应用、训练策略和评估方法),统一了先前研究中的定义差异并解决了不一致之处。
3.我们提供了批判性的综合分析,而非简单的总结,重点关注了基准测试污染、任务-指标不匹配和可重复性挑战等系统性问题。
4.我们根据研究发现制定了具体的研究议程,将基于执行的评估、混合架构和伦理考虑作为优先事项。
我们的分析基于五个研究问题(RQ1–RQ5),探讨了CSLLMs的演变、数据集使用、微调过程、提示技术和应用/挑战。这种方法确保了一个系统性的框架,不仅梳理了现有进展,还指出了未来工作的空白。
本文的其余部分安排如下:第2节详细介绍了我们的方法论,包括搜索策略和纳入标准。第3节定义了CSLLM并将其与通用LLMs区分开来。第4-8节回答了我们的关键研究问题(RQ1–RQ5)。最后,第9节总结了研究发现并为未来研究提供了方向性建议。