软件研发效能实验室匡宏宇老师小组在AI代码审查实证研究上取得新进展

发布日期:2026-05-09 浏览次数:


生成式人工智能技术( Generative AI, GenAI )的快速发展推动了代码审查工具的智能化演进。在 GitHub 等平台上,开发人员已经可以通过 GitHub Actions 将 GenAI 集成到工作流中。这些基于 AI 的代码审查工具能够自动审查代码,并在 PR 上发布建议评论。图 1 展示了不同工具在评论粒度和反馈方式上的明显差异,反映出这类工具在能力设计和使用方式上存在较大不同。尽管此类工具日益流行,并且承诺提升审查效率,但它们在实践中的实际采用情况、是否真正影响代码变更,以及哪些因素决定其有效性,仍缺乏充分的实证研究。为此,研究团队对此展开了系统分析。



图 1 不同粒度AI代码审查工具生成评论的示例


针对上述问题,软件研发效能实验室 Sqd.HUM 小组的匡宏宇老师及其指导的博士生孙可心同学联合海德堡大学 Sebastian Baltes 教授、新加坡管理大学 Christoph Treude 教授,开展了一项针对 GitHub 上 16 个流行 AI 代码审查工具的大规模实证研究。研究团队分析了 178 个代码仓库中 超过 22,000 条 AI 生成的审查评论,系统性地探究了三个核心研究问题:(1)这些AI工具在 GitHub 仓库中的采用情况如何?(2)AI 生成的审查评论在多大程度上真正导致了代码变更?(3)哪些因素影响评论被采纳的可能性?


为了回答这些问题,研究团队首先通过 GitHub REST API 收集了配置这些 AI 代码审查工具的代码仓库作为研究对象。在此基础上,团队设计了一个基于大语言模型的两阶段分析框架,用于判断评论是否包含可操作建议,以及这些建议是否在后续代码修改中得到落实。该框架在最佳配置下达到了 86.1% 的准确率和 74.6% 的宏平均 F1,为大规模分析提供了可靠支持。在此基础上,研究团队进一步构建了包含 36 个特征的结构化特征集,涵盖评论来源( 人类 vs AI )、评论内容特征、代码修改特征以及代码仓库特征等四个维度。通过训练随机森林分类器并结合SHAP( SHapley Additive exPlanations )可解释性分析,研究揭示了影响评论采纳率的关键因素。


研究结果表明,虽然 AI 代码审查工具的使用正在增长,但其有效性仍存在显著差异。在 178 个项目中, 37.1%虽配置工具但未产生任何 AI 评论,表明声明与实际使用之间存在差距。研究发现 Hunk 级别的审查工具( 针对具体代码块提供详细建议 )的评论采纳率( 6.5%–19.2% )显著高于 File 级别工具( 0.9%–4.2% ),但仍远低于人类审查评论的采纳率( 60% )。SHAP 分析进一步表明,评论来源( 人类 vs AI )和内容特征( 简洁性、代码丰富度 )是最关键因素,即简洁且包含代码片段的评论更容易被采纳。此外研究还发现,AI 评论对经验较少的贡献者更容易发挥作用,而对经验丰富的开发者帮助相对有限。不过,论文中的典型案例也表明( 图 2 所示 ),如果工具设计得当AI生成的审查意见同样能够说服成熟开发者接受修改建议。这些发现强调了工具设计和提示工程在提升AI代码审查系统有效性方面的重要性。




图 2 设计良好的AI代码审查成功推动资深开发者采纳修改建议的示例


该工作相关研究成果《 Does AI Code Review Lead to Code Changes? A Case Study of GitHub Actions 》现已被软件工程领域顶级国际期刊 IEEE Transactions on Software Engineering( TSE,CCF -  A 期刊 )全文录用,南京大学为第一作者单位。


孙可心同学由马晓星教授和匡宏宇准聘副教授共同指导,其主要研究方向包括:代码审查、软件可追踪和基于文本情绪分析的软件仓库挖掘,其研究成果先后发表在 TSE、ASE、ICPC 等高水平软件工程国际会议上。欢迎对相关研究内容感兴趣的同学加入Sqd.HUM( Software’s Qualified Development of, by, for the HUManity )研究小组。