自动化代码审查实践
摘要
代码审查是提高软件质量和传播知识的广泛实践。由于需要人工工作和潜在延迟,往往被视为耗时。诸如 Qodo、GitHub Copilot 和 Coderabbit 等人工智能辅助工具提供了基于大型语言模型(LLM)的自动化审查。此类工具在行业中的效果尚未得到考察。本研究在工业环境中考察了基于LLM的自动化代码审查工具的影响。该研究在采用基于开源 Qodo PR Agent 的 AI 辅助审查工具的软件开发环境中进行。约有 238 名实践者 across 十个项目获得了该工具的使用权限。我们聚焦于 10 个项目中的 3 个项目,涉及 4,335 个拉取请求,其中 1,568 个请求进行了自动化审查。数据收集包括三方面:(1) 拉取请求数据的定量分析,包括评论标签指示开发人员是否对自动化评论作出响应,(2) 发送给开发人员关于其在 individual 拉取请求上的审查体验的调查,以及 (3) 对 22 名实践者的更广泛调查,捕捉他们对自动化审查的总体意见。73.8% 的自动化评论被解决。然而,平均拉取请求关闭持续时间从五小时五十二分钟增加到八小时二十分钟,各项目的趋势各不相同。大多数实践者报告称,由于自动化审查,代码质量有所轻微改善。该基于 LLM 的工具在软件开发中 proved 有用,增强了错误检测,提高了对代码质量的 awareness,并促进了最佳实践的实施。然而,它也导致拉取请求关闭时间延长,并引入了诸多缺点,如错误审查、不必要的纠正和无关的评论。
引用
@article{arxiv.2412.18531,
title = {Automated Code Review In Practice},
author = {Umut Cihan and Vahid Haratian and Arda İçöz and Mert Kaan Gül and Ömercan Devran and Emircan Furkan Bayendur and Baykal Mehmet Uçar and Eray Tüzün},
journal= {arXiv preprint arXiv:2412.18531},
year = {2024}
}
备注
To be presented at ICSE 2025 47th International Conference on Software Engineering, Software Engineering in Practice (SEIP) Track