Exploring the Notion of Risk in Code Reviewer Recommendation

Authors - Farshad Kazemi, Maxime Lamothe, Shane McIntosh
Venue - International Conference on Software Maintenance and Evolution, pp. To appear, 2022

Related Tags - ICSME 2022 code review software quality

Abstract - Reviewing code changes allows stakeholders to improve the premise, content, and structure of changes prior to or after integration. However, assigning reviewing tasks to team members is challenging, particularly in large projects. Code reviewer recommendation has been proposed to assist with this challenge. Traditionally, the performance of reviewer recommenders has been derived based on historical data, where better solutions are those that recommend exactly which reviewers actually performed tasks in the past. More recent work expands the goals of recommenders to include mitigating turnover-based knowledge loss and avoiding overburdening the core development team. In this paper, we set out to explore how reviewer recommendation can incorporate the risk of defect proneness. To this end, we propose the Changeset Safety Ratio (CSR)—an evaluation measurement designed to capture the risk of defect proneness. Through an empirical study of three open source projects, we observe that: (1) existing approaches tend to improve one or two quantities of interest, such as core developers workload while degrading others (especially the CSR); (2) Risk Aware Recommender (RAR)—our proposed enhancement to multi-objective reviewer recommendation—achieves a 12.48% increase in expertise of review assignees and a 80% increase in CSR with respect to historical assignees, all while reducing the files at risk of knowledge loss by 19.39% and imposing a negligible 0.93% increase in workload for the core team; and (3) our dynamic method outperforms static and normalization-based tuning methods in adapting RAR to suit risk-averse and balanced risk usage scenarios to a significant degree (Conover’s test, α < 0.05; small to large Kendall’s W).

Preprint - PDF

Bibtex

@inproceedings{kazemi2022icsme,
  Author = {Farshad Kazemi and Maxime Lamothe and Shane McIntosh},
  Title = {{Exploring the Notion of Risk in Code Reviewer Recommendation}},
  Year = {2022},
  Booktitle = {Proc. of the International Conference on Software Maintenance and Evolution (ICSME)},
  Pages = {To appear}
}