一句话:提出基于质量属性与评审者技能匹配的自动代码评审分配方法,并构建自学习平台。
在大规模开源软件栈中,为代码变更找到合适评审者十分困难,尤其在跨职能协作场景下;缺乏相关知识的评审会消耗大量资源并引入技术错误。论文面向大规模软件栈的自动评审者分配,构建自学习、自纠正平台,将提交按质量属性与评审者技能进行智能匹配。作者从OpenStack仓库历史数据中抽取质量属性,使用人工标注和多分类器训练两个模型以自动分类提交;再依据评审者历史数据及其质量属性特征定位评审者,最后通过提交与候选评审者之间的距离选择推荐评审者。实验表明,在相对较小的训练集上,两个模型分别取得77%和85.31%的F-1分数。
In the process of developing software, code review is crucial. By identifying problems before they arise in production, it enhances the quality of the code. Finding the best reviewer for a code change, however, is extremely challenging especially in large scale, especially open source software stacks with cross functioning designs and collaborations among multiple developers and teams. Additionally, a review by someone who lacks knowledge and understanding of the code can result in high resource consumption and technical errors. The reviewers who have the specialty in both functioning (domain knowledge) and non-functioning areas of a commit are considered as the most qualified reviewer to look over any changes to the code. Quality attributes serve as the connection among the user requirements, delivered function description, software architecture and implementation through put the entire software stack cycle. In this study, we target on auto reviewer assignment in large scale software stacks and aim to build a self-learning, and self-correct platform for intelligently matching between a commit based on its quality attributes and the skills sets of reviewers. To achieve this, quality attributes are classified and abstracted from the commit messages and based on which, the commits are assigned to the reviewers with the capability in reviewing the target commits. We first designed machine learning schemes for abstracting quality attributes based on historical data from the OpenStack repository. Two models are built and trained for automating the classification of the commits based on their quality attributes using the manual labeling of commits and multi-class classifiers. We then positioned the reviewers based on their historical data and the quality attributes characteristics. Finally we selected the recommended reviewer based on the distance between a commit and candidate reviewers. In this paper, we demonstrate how the models can choose the best quality attributes and assign the code review to the most qualified reviewers. With a comparatively small training dataset, the models are able to achieve F-1 scores of 77% and 85.31%, respectively.
@inproceedings{paperbot7314,
title = {Intelligent Code Review Assignment for Large Scale Open Source Software Stacks},
author = {Ishan Aryendu and Ying Wang and Farah Elkourdi and Eman Abdullah Alomar},
booktitle = {ASE},
year = {2022},
doi = {10.1145/3551349.3561147}
}