代码评审是一种由非代码变更作者的开发者来检查代码缺陷、漏洞和合规性等问题的软件实践。此外,代码评审还具有传播知识、提高团队协作能力等好处。代码评审被视为一种典型的软件工程最佳实践,在世界范围内已被各大软件公司和组织普遍推广和应用,成为现代软件开发最基本的流程之一。代码评审意见是评审者对作者提交的变更的反馈,其中可能涉及疑问、评价、建议等。代码评审意见不仅是评审者对代码变更的质量感知,而且是作者修复代码缺陷和提升质量的重要参考。评价和提升评审意见质量有利于充分发挥代码评审的好处。然而,目前但仍缺少针对有效的代码评审意见质量评价方式和方法。

图1 EvaCRC方法的设计、实现和评估

针对上述问题,软件研发效能实验室的博士生杨岚心及其团队成员开展了三角论证、实验、焦点小组访谈等实证研究,并在此基础上创新性地提出了一种可解释的、自动化的代码评审意见质量评价方法 EvaCRC。方法设计层面,不同于其他方法仅输出评审意见的质量等级,EvaCRC 不仅会输出质量等级,而且会输出用于解释质量等级的若干质量属性,帮助评审者及时检查和提升代码评审意见质量。技术实现层面,EvaCRC 基于先进的大语言模型 ( Large Language Model ) 技术 BERT 来构建自动化模型,保证评价的一致性和准确性。EvaCRC 是结合使用实证研究方法和深度学习方法来解决软件工程问题的一次成功的经验。

该工作现已被软件工程领域国际顶级学术会议 ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering ( ESEC / FSE 2023, CCF – A 类会议 ) 录用。

杨岚心同学由张贺教授指导,其主要研究方向包括软件质量保证和代码评审,研究成果先后发表在 ICSE, ESEC / FSE, SANER, IST 等国际著名软件工程会议和期刊。