Modern Code Review (MCR) is an informal tool-assisted quality assurance practice. It relies on the asynchronous communication among the authors of code changes and reviewers, who are developers that provide feedback. However, from candidate developers, some are able to provide better feedback than others given a particular context. The selection of reviewers is thus an important task, which can benefit from automated support. Many approaches have been proposed in this direction, using for example data from code review repositories to recommend reviewers. In this paper, we propose the use of team-related features to improve the performance of predictions that are helpful to build code reviewer recommenders, with our target predictions being the identification of reviewers that would participate in a review and the provided amount of feedback. We evaluate the prediction power of these features, which are related to code ownership, workload, and team relationship. This evaluation was done by carefully addressing challenges imposed by the MCR domain, such as temporal aspects of the dataset and unbalanced classes. Moreover, given that it is currently unknown how much past data is needed for building MCR prediction models with acceptable performance, we explore the amount of past data used to build prediction models. Our results show that, individually, features related to code ownership have the best prediction power. However, based on feature selection, we conclude that all proposed features together with lines of code can make the best predictions for both reviewer participation and amount of feedback. Regarding the amount of past data, the timeframes of 3, 6, 9, and 12 months of data produce similar results. Therefore, models can be trained considering short timeframes, thus reducing the computational costs with negligible impact in the prediction performance ...
翻译:现代代码审查(MCR)是一种非正式的、基于工具辅助的质量保证实践。它依赖于代码变更作者与审查者之间的异步通信,审查者是提供反馈的开发者。然而,在候选开发者中,某些人能够在特定上下文中提供比其他人更好的反馈。因此,审查者的选择是一项重要任务,可以从自动化支持中受益。许多方法已被提出用于此方向,例如利用代码审查仓库中的数据来推荐审查者。在本文中,我们提出使用与团队相关的特征来改进预测性能,这些预测有助于构建代码审查者推荐系统,我们的目标预测是识别可能参与审查的审查者及其提供的反馈量。我们评估了这些特征(与代码所有权、工作量和团队关系相关)的预测能力。该评估通过仔细应对MCR领域带来的挑战(例如数据集的时间维度和类别不平衡)进行。此外,鉴于目前尚不清楚需要多少历史数据来构建具有可接受性能的MCR预测模型,我们探索了用于构建预测模型的历史数据量。我们的结果表明,单独来看,与代码所有权相关的特征具有最佳的预测能力。然而,基于特征选择,我们得出结论:所有提出的特征与代码行数一起,能够对审查者参与和反馈量做出最佳预测。关于历史数据量,3个月、6个月、9个月和12个月的数据时间框架产生相似的结果。因此,模型可以基于较短时间框架进行训练,从而在预测性能上影响可忽略的情况下降低计算成本……