Helping Pull Request Reviewer Recommendation Systems to Focus

The selection of code reviewers for a pull request can impact the quality as well as the speed of the review. In order to have the best experience both for the developer and the reviewers, there is a need for automatic reviewer recommendation systems for pull requests. Although there has been previo...

Full description

Bibliographic Details
Main Authors: Nikola Pejic, Zaharije Radivojevic, Milos Cvetanovic
Format: Article
Language:English
Published: IEEE 2023-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/10172184/
_version_ 1797617759505350656
author Nikola Pejic
Zaharije Radivojevic
Milos Cvetanovic
author_facet Nikola Pejic
Zaharije Radivojevic
Milos Cvetanovic
author_sort Nikola Pejic
collection DOAJ
description The selection of code reviewers for a pull request can impact the quality as well as the speed of the review. In order to have the best experience both for the developer and the reviewers, there is a need for automatic reviewer recommendation systems for pull requests. Although there has been previous research in this area, it was mainly focused on smaller and medium repositories of up to around 200 developers, while larger repositories were rarely targeted. In this paper we evaluate several existing approaches on a set of 8 Microsoft repositories of different sizes, noticing that the average performance of the approaches seemed to decrease with the number of reviewers the repository has. In order to focus the existing approaches only on relevant reviewers, we propose a technique for improving their performance by scoping down the set of candidate reviewers based on multiple filters. We defined several basic filters and determined that 5 out of the 7 tested existing approaches experienced performance improvements of up to 16.24% better precision and 19.66% better recall averaged over all datasets, with the per dataset improvements peaking at 36.63% better precision and 28.63% better recall. Additionally, by combining different basic filters we were able to achieve additional improvements for 6 out of the 7 existing approaches (with a minor improvement for the remaining approach), which on average over all datasets had up to 17.60% better precision and 21.23% better recall, while the per dataset improvements peaked at 43.28% better precision and 30.94% better recall.
first_indexed 2024-03-11T07:59:20Z
format Article
id doaj.art-ff9ae0e484414985b037d0ecdebaef57
institution Directory Open Access Journal
issn 2169-3536
language English
last_indexed 2024-03-11T07:59:20Z
publishDate 2023-01-01
publisher IEEE
record_format Article
series IEEE Access
spelling doaj.art-ff9ae0e484414985b037d0ecdebaef572023-11-17T00:01:12ZengIEEEIEEE Access2169-35362023-01-0111710137102510.1109/ACCESS.2023.329205610172184Helping Pull Request Reviewer Recommendation Systems to FocusNikola Pejic0https://orcid.org/0000-0003-4669-3642Zaharije Radivojevic1Milos Cvetanovic2https://orcid.org/0000-0003-1063-0340School of Electrical Engineering, University of Belgrade, Belgrade, SerbiaMicrosoft Development Center Serbia, Belgrade, SerbiaSchool of Electrical Engineering, University of Belgrade, Belgrade, SerbiaThe selection of code reviewers for a pull request can impact the quality as well as the speed of the review. In order to have the best experience both for the developer and the reviewers, there is a need for automatic reviewer recommendation systems for pull requests. Although there has been previous research in this area, it was mainly focused on smaller and medium repositories of up to around 200 developers, while larger repositories were rarely targeted. In this paper we evaluate several existing approaches on a set of 8 Microsoft repositories of different sizes, noticing that the average performance of the approaches seemed to decrease with the number of reviewers the repository has. In order to focus the existing approaches only on relevant reviewers, we propose a technique for improving their performance by scoping down the set of candidate reviewers based on multiple filters. We defined several basic filters and determined that 5 out of the 7 tested existing approaches experienced performance improvements of up to 16.24% better precision and 19.66% better recall averaged over all datasets, with the per dataset improvements peaking at 36.63% better precision and 28.63% better recall. Additionally, by combining different basic filters we were able to achieve additional improvements for 6 out of the 7 existing approaches (with a minor improvement for the remaining approach), which on average over all datasets had up to 17.60% better precision and 21.23% better recall, while the per dataset improvements peaked at 43.28% better precision and 30.94% better recall.https://ieeexplore.ieee.org/document/10172184/Modern code reviewpull requestreviewer recommendation
spellingShingle Nikola Pejic
Zaharije Radivojevic
Milos Cvetanovic
Helping Pull Request Reviewer Recommendation Systems to Focus
IEEE Access
Modern code review
pull request
reviewer recommendation
title Helping Pull Request Reviewer Recommendation Systems to Focus
title_full Helping Pull Request Reviewer Recommendation Systems to Focus
title_fullStr Helping Pull Request Reviewer Recommendation Systems to Focus
title_full_unstemmed Helping Pull Request Reviewer Recommendation Systems to Focus
title_short Helping Pull Request Reviewer Recommendation Systems to Focus
title_sort helping pull request reviewer recommendation systems to focus
topic Modern code review
pull request
reviewer recommendation
url https://ieeexplore.ieee.org/document/10172184/
work_keys_str_mv AT nikolapejic helpingpullrequestreviewerrecommendationsystemstofocus
AT zaharijeradivojevic helpingpullrequestreviewerrecommendationsystemstofocus
AT miloscvetanovic helpingpullrequestreviewerrecommendationsystemstofocus