摘要
代码评审是现代软件开发过程中被广泛应用的最佳实践之一,其对于软件质量保证和工程能力提升都具有重要意义.代码评审意见是代码评审最主要和最重要的产出之一,其不仅是评审者对代码变更的质量感知,而且是作者修复代码缺陷和提升质量的重要参考.目前,全球各大软件组织都相继制定了代码评审指南,但仍缺少针对代码评审意见质量的有效的评价方式和方法.为了实现可解释的、自动化的评价,开展文献综述、案例分析等若干实证研究,并在此基础上提出一种基于多标签学习的代码评审意见质量评价方法.实验使用某大型软件企业的34个商业项目的共计17000条评审意见作为数据集.结果表明所提出的方法能够有效地评价代码评审意见质量属性和质量等级.除此以外,还提供若干建模经验,如评审意见标注和校验等,旨在帮助那些受代码评审困扰的软件组织更好地实施所提出的方法.
Code review is one of the best practices widely used in modern software development,which is crucial for ensuring software quality and strengthening engineering capability.Code review comments(CRCs)are one of the main and most important outputs of code reviews.CRCs are not only the reviewers’perceptions of code quality but also the references for authors to fix code defects and improve quality.Nowadays,although a number of software organizations have developed guidelines for performing code reviews,there are still few effective methods for evaluating the quality of CRCs.To provide an explainable and automated quality evaluation of CRCs,this study conducts a series of empirical studies such as literature reviews and case analyses.Based on the results of the empirical studies,the study proposes a multi-label learning-based approach for evaluating the quality of CRCs.Experiments are carried out by using a large software enterprise-specific dataset that includes a total of 17000 CRCs from 34 commercial projects.The results indicate that the proposed approach can effectively evaluate the quality attributes and grades of CRCs.The study also provides some modeling experiences such as CRC labeling and verification,so as to help software organizations struggling with code reviews better implement the proposed approach.
作者
杨岚心
张贺
徐近伟
张逸凡
王梓宽
周鑫
李京悦
荣国平
YANG Lan-Xin;ZHANG He;XU Jin-Wei;ZHANG Yi-Fan;WANG Zi-Kuan;ZHOU Xin;LI Jing-Yue;RONG Guo-Ping(Software Institute,Nanjing University,Nanjing 210093,China;State Key Laboratory of Novel Software Technology at Nanjing University,Nanjing 210093,China;Department of Computer Science,Norwegian University of Science and Technology,Trondheim 7030,Norway)
出处
《软件学报》
EI
CSCD
北大核心
2024年第6期2775-2794,共20页
Journal of Software
基金
国家自然科学基金(62072227,62202219)
国家重点研发计划(2019YFE0105500)
江苏省重点研发计划(BE2021002-2)
南京大学计算机软件新技术国家重点实验室创新项目(ZZKT2022A25)
海外开放课题(KFKT2022A09)。
关键词
软件质量保证
代码评审
代码评审意见
质量评价
多标签学习
实证软件工程
software quality assurance
code review
code review comment(CRC)
quality evaluation
multi-label learning
empirical software engineering