AUGER:基于预训练模型自动生成评审意见
软件工程
2022-09-01 v2
摘要
代码评审是保障软件质量的有力最佳实践之一。在实践中,资深或高技能评审者会审视源代码并提供建设性意见,考量作者可能忽略的内容,例如某些特殊情形。贡献者之间的协作验证使代码质量更高且缺陷更少。然而,由于个人知识有限且各异,代码评审实践的效率与效果仍值得进一步改进。事实上,给出有用评审意见仍需巨大且耗时的投入。本文探索多种实际评审意见的协同以增强代码评审,并提出AUGER(AUtomatically GEnerating Review comments,自动生成评审意见):一种基于预训练模型的评审意见生成器。我们首先从11个知名Java项目收集经验评审数据,构建了包含10,882个代码变更的数据集。通过利用文本到文本迁移Transformer(T5)模型,该框架在训练阶段综合有价值的知识,并在ROUGE-L上以37.38%的优势显著优于基线。根据先前研究,我们29%的自动评审意见被认为有用。推理仅需20秒即可生成,且也支持进一步训练。此外,在案例研究中经细致分析后性能亦得到提升。
引用
@article{arxiv.2208.08014,
title = {AUGER: Automatically Generating Review Comments with Pre-training Models},
author = {Lingwei Li and Li Yang and Huaxi Jiang and Jun Yan and Tiejian Luo and Zihan Hua and Geng Liang and Chun Zuo},
journal= {arXiv preprint arXiv:2208.08014},
year = {2022}
}
备注
Accepted by ESEC/FSE-2022