Page 358 - 《软件学报》2026年第3期
P. 358
张犬俊 等: 检索增强生成在软件工程中的应用综述 1321
Kotlin 和 Ring 虽在整体研究中比例较小, 但在企业应用、智能合约、数据库交互等特定下游任务中展示出独特
的应用价值. 此外, 基于 RAG 的研究涵盖了代码完成、代码生成、代码摘要、程序修复、漏洞检测与修复、测试
生成、代码查询及文本到 SQL 等多种下游任务, 显示出研究在任务类型上的高度多样性. 这种多样性不仅反映了
预训练语言模型在多语言支持和不同应用场景中的强大适应性和扩展潜力, 也表明随着数据集的不断丰富, 未来
RAG 技术有望进一步覆盖更多编程语言和复杂的下游任务, 推动软件工程技术的全面发展.
3.4 模型分布情况
本节统计分析了收集到的文献中所涉及的 46 种主流的 PLM 和 LLM 在软件工程任务中的使用情况. 为更系
统地展现模型的演化趋势, 图 4 展示了按年份分布的模型使用频率情况, 统计了每个模型在 2021–2024 年间的出
现频次. 由图 4 可见, GPT-3.5 是被使用最多的模型 (共 38 次), 广泛用于生成器部分, 其使用在 2023 年和 2024 年
达到高峰. 同时, Codex (12 次) 和 CodeT5 (12 次) 等模型自提出以来在各类任务中持续被采用, 表现出良好的通用
性, 尤其适用于代码生成与修复场景. 值得注意的是, GPT-4 (18 次) 和 GPT-4o (8 次) 的使用数量在 2024 年显著增
长, 体现了新一代 LLM 在实际研究中的快速扩展和应用. 与此同时, 一些模型如 DeepSeek-Coder、CodeGemma
和 Qwen2 等自 2023 年后开始被引入, 说明业界对开放源代码大模型的关注度日益上升.
40
38 2021年 2022年 2023年 2024年
35
30
25
次数 20 18
15 1313
1212
10 9 8
6 6 6 6 5 5 5 4 4 4 3
5 3 3
2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 T5
GPT-3.5 GPT-4 CodeLLaMA StarCoder Codex CodeT5 CodeGen GPT-4o DeepSeek-Coder PLBART LLaMA3 CodeGPT CodeT5+ Claude-3 UniXcoder CodeBERT GPT-4o-mini Llama-2 LLaMA GPT-3 DeepSeek Qwen2 CodeGen-2 Gemini-1.5 Gemma Mistral PaLM StarCoder2 PolyCoder Magicoder PaLM2 BART LangChain InCoder Claude-2 CodeGeeX CodeGemma CodeQwen1.5 CoditT5 CommitBERT GPT-2 GPT-Neo Gemma2 GraphCodeBERT WizardCoder
图 4 基于 RAG 在软件工程领域研究的模型分布情况
3.5 研究问题 1 结论
本节重点关注 2021–2024 年期间, 基于 RAG 的软件工程应用研究呈现出显著的增长趋势, 发表论文数量从 2
篇迅速增加到 70 篇; 在发表渠道方面, 约 67% 的论文发表于经过同行评审的顶级会议和期刊, 其中 EMNLP 和
ICSE 最为活跃, 其次是 ACL、ASE 和 ISSTA, 而 33% 的论文发布在 arXiv 上, 反映出研究的快速扩展和及时分享;
研究领域涵盖软件工程、人工智能和信息安全, 展示出跨学科的特征; 在编程语言分布上, Python、Java 是最常用
的语言, 广泛应用于代码完成、代码生成、程序修复和漏洞检测等下游任务, C/C++以及 JavaScript 和 TypeScript
在特定任务中也有重要应用, 其他语言如 Go、Verilog、PHP、Kotlin 和 Ring 虽比例较小, 但在企业应用、智能合
约和数据库交互等领域展现出独特价值. 在模型应用方面, PLM 和 LLM 在 RAG 架构中作为检索器和生成器应
用, 高效检索相关代码片段, 并通过 GPT-3.5、GPT-4、CodeT5 和 Codex 等生成器模型生成准确且一致的代码补
全或建议, 显著提升了代码生成等下游任务的准确性.
4 研究问题 2: RAG 处理代码任务的检索器和生成器具体架构是什么?
RAG 框架通过检索器和生成器的紧密协作, 将外部知识与大模型的强大生成能力结合起来, 极大地提高了软
件工程领域中代码任务的效果. 一般而言, 检索器从大型代码库、技术文档或项目仓库中筛选出与用户输入最相

