软件所提出代码审查意见自动生成新方法

文章来源:  |  发布时间:2022-06-21  |  【打印】 【关闭

  

  近日,软件所软件发展研究部智能化软件系统工程团队在代码审查意见自动生成方法研究方面取得进展。该研究提出了基于代码审查标记和预训练模型的代码审查意见自动生成方法,能够高效地对代码片段自动生成有意义的代码审查意见,帮助开发人员提高代码质量,缓解现有软件开发过程中严重依赖少数高水平程序员进行代码审查的难题,为提升软件开发过程中代码审查自动化能力起到重要支撑作用。 

  代码审查是保障软件质量的重要过程,然而在实际软件开发中,该过程往往严重依赖少数高水平程序员才能完成,一方面这可能造成多个软件(如被审查者和审查者正在参与开发的软件)开发过程中断并延迟,另一方面,即使是高水平程序员经验也是有限的,他们需要花费大量的时间进行代码审查,而且并不能保证审查出所有的代码错误或坏味。 

  针对此问题,团队提出一种基于代码审查标记和预训练模型的代码审查意见自动生成方法AUGER,首先从多个著名的 Java 项目中收集实际代码审查数据,然后通过代码审查标记嵌入技术构建了一个高质量数据集,最后利用 T5预训练模型进行多策略多阶段训练。实验表明,该方法的ROUGE-L值比目前最好的方法提升了37.38%,而且整个模型推理过程平均可在20 秒内完成。 

  相关成果以“AUGER: Automatically Generating Review Comments withPre-training Models”为题被软件工程领域顶级学术会议ESEC/FSE 2022录用。该论文的第一作者为硕士生李凌伟,通讯作者为高级工程师杨立,合作单位包括中国科学院大学、武汉大学、中科软科技股份有限公司。该研究获国家重点研发计划、中国科学院战略性先导A类专项等项目支持。 

基于代码审查标记和预训练模型的代码审查意见自动生成方法框架 

 

对比实验结果