简介
本文是对 AI 生成代码中缺陷的系统化文献综述研究,分析了 72 篇高质量论文。研究发现功能缺陷 (78%) 和语法缺陷 (42%) 是最常见的 AI 生成代码问题,不同 AI 模型 (如 GPT、Copilot) 各有特定的缺陷倾向。文章提出了八大类缺陷分类体系,并总结了四种主要缓解策略:提示工程、代码增强模块、自主编码代理和基于程序分析的方法。研究强调了在利用 AI 生成代码时需保持谨慎,采取多层次质量保证措施,以充分发挥 AI 在软件开发中的潜力。
引言
近年来,大型语言模型(LLMs)如 GPT、Claude、GitHub Copilot 等,正在彻底改变软件开发的方式。开发者们越来越多地利用这些 AI 工具来生成代码片段、辅助编程,甚至进行代码翻译和调试,极大地提高了生产力和效率。然而,在这股技术浪潮的背后,一个不容忽视的问题浮出水面:AI 生成的代码中存在大量缺陷(Bugs)。
这些缺陷不仅可能导致程序运行错误、性能下降,还可能引发严重的安全漏洞,给软件的可靠性和维护带来巨大挑战。为了系统地了解 AI 生成代码中缺陷的本质、类型和分布,并探索有效的缓解策略,研究人员对相关文献进行了全面的梳理和分析。
研究方法
为了全面理解 AI 生成代码中的缺陷,研究者采用了一种严谨的 系统化文献综述(Systematic Literature Review, SLR) 方法。该方法旨在通过系统性地识别、分析和综合现有软件工程研究中的证据,以揭示 AI 生成代码中缺陷的类型、分布和模式。
整个研究流程包括搜索、筛选、质量评估、数据提取与分析等关键步骤:

研究者从 Google Scholar 和 Scopus 等数据库中检索了相关文献,并制定了严格的筛选标准,最终从 660 篇候选文献中确定了 72 篇符合要求的高质量研究论文。这些论文涵盖了不同的编程语言、数据集和 AI 模型,为后续分析提供了坚实的基础。
AI 生成代码中的缺陷分类
论文的核心贡献之一是提出了一套全面的 AI 生成代码缺陷分类法。研究者将 AI 生成的代码缺陷分为八大类,并进一步细分为十二个子类:

1. 功能缺陷(Functional Bugs)
这类缺陷直接导致软件无法按预期运行,是最常见的一类缺陷。它又可以细分为:
- 语义缺陷(Semantic Bugs):代码语法正确,但含义或意图与开发者期望不符,导致程序无法完成任务。
- 逻辑缺陷(Logic Bugs):算法或业务逻辑错误,导致输出结果不正确。
- 函数/方法相关缺陷(Function/Method-related Bugs):函数或方法的参数、返回值、调用方式等出现问题。
- API/包/库相关缺陷(API/Package/Library-related Bugs):与外部库或 API 的使用不当有关。
- 变量/对象/属性相关缺陷(Variable/Object/Parameter-related Bugs):变量、对象或参数的使用错误。
- 类型错误(Type Error):数据类型不匹配导致的错误。
- 其他功能缺陷(Other Functionality Bugs):无法归入上述子类的功能性问题。
2. 可靠性缺陷(Reliability Bugs)
这类缺陷影响软件的稳定性和性能,例如:
- 性能相关问题(Performance-related Bugs):程序运行缓慢、资源消耗过大。






