摘要
随着现代软件规模的不断扩大,协作开发成为软件开发的主流趋势,代码审查成为现代化软件开发的重要工作流程.但由于人工代码评审往往耗费审查者较大精力,且存在审查者不匹配或审查者水平有限等问题,人工代码评审的质量和效率难以保证,且审查后的代码修复也十分费时费力.因此,亟需研究人员为代码审查流程进行改进,提供自动化思路.对代码审查自动化相关研究进行系统梳理和总结,并重点介绍4种主要方向:审查者推荐、代码变更质量评估、审查意见生成和代码自动修复.整理了相关方向的148篇研究,对每个方向的研究进行技术分类与分析.随后,整理了各方向研究任务的评估方法,并整理出常用的数据集与开源工具.最后,对代码审查自动化领域面临的问题进行梳理,并对未来研究进行展望.
-
单位中科软科技股份有限公司; 中国科学院软件研究所; 中国科学院大学