Reviewer Recommendation using Sofware Artifact Traceability
Graphs
Emre Sülün
emre.sulun@ug.bilkent.edu.tr
Bilkent University
Ankara, Turkey
Eray Tüzün
eraytuzun@cs.bilkent.edu.tr
Bilkent University
Ankara, Turkey
Uğur Doğrusöz
ugur@cs.bilkent.edu.tr
Bilkent University
Ankara, Turkey
ABSTRACT
Various types of artifacts (requirements, source code, test cases,
documents, etc.) are produced throughout the lifecycle of a software.
These artifacts are often related with each other via traceability
links that are stored in modern application lifecycle management
repositories. Throughout the lifecycle of a software, various types
of changes can arise in any one of these artifacts. It is important to
review such changes to minimize their potential negative impacts.
To maximize benefts of the review process, the reviewer(s) should
be chosen appropriately.
In this study, we reformulate the reviewer suggestion problem
using software artifact traceability graphs. We introduce a novel
approach, named RSTrace, to automatically recommend reviewers
that are best suited based on their familiarity with a given artifact.
The proposed approach, in theory, could be applied to all types of
artifacts. For the purpose of this study, we focused on the source
code artifact and conducted an experiment on fnding the appro-
priate code reviewer(s). We initially tested RSTrace on an open
source project and achieved top-3 recall of 0.85 with an MRR (mean
reciprocal ranking) of 0.73. In a further empirical evaluation of 37
open source projects, we confrmed that the proposed reviewer
recommendation approach yields promising top-k and MRR scores
on the average compared to the existing reviewer recommendation
approaches.
CCS CONCEPTS
· Software and its engineering → Software maintenance tools;
Collaboration in software development.
KEYWORDS
suggesting reviewers, reviewer recommendation, code review, soft-
ware traceability, pull-request review, modern code review
ACM Reference Format:
Emre Sülün, Eray Tüzün, and Uğur Doğrusöz. 2019. Reviewer Recommen-
dation using Software Artifact Traceability Graphs. In The Fifteenth Inter-
national Conference on Predictive Models and Data Analytics in Software
Engineering (PROMISE’19), September 18, 2019, Recife, Brazil. ACM, New
York, NY, USA, 10 pages. https://doi.org/10.1145/3345629.3345637
Permission to make digital or hard copies of all or part of this work for personal or
classroom use is granted without fee provided that copies are not made or distributed
for proft or commercial advantage and that copies bear this notice and the full citation
on the frst page. Copyrights for components of this work owned by others than ACM
must be honored. Abstracting with credit is permitted. To copy otherwise, or republish,
to post on servers or to redistribute to lists, requires prior specifc permission and/or a
fee. Request permissions from permissions@acm.org.
PROMISE’19, September 18, 2019, Recife, Brazil
© 2019 Association for Computing Machinery.
ACM ISBN 978-1-4503-7233-6/19/09. . . $15.00
https://doi.org/10.1145/3345629.3345637
1 INTRODUCTION
Due to its nature, through the lifecycle of a software, many diferent
kinds of changes occur to the software. These changes might have
intended consequences such as successfully adding new function-
ality or modifying the existing functionality. However, in some
cases, the changes have unintended consequences such as intro-
ducing a new bug while fxing another; thus, these changes need
to be carefully reviewed. To maximize benefts of a review, the
reviewer(s) should be chosen appropriately. However, choosing
the right reviewer(s) might not be a trivial task, especially in large
projects. Automatically suggesting appropriate reviewers have two
main benefts: (1) reducing overall review time by automatically
assigning reviewers [22] (2) increasing the review quality and thus
reducing the potential errors related to the reviewed artifact.
To fnd the most appropriate reviewer for reviewing an artifact,
we mine the information stored in software artifact traceability
graphs. In a typical software project, various types of artifacts
(requirements, source code, test cases, document, risks, etc.) are
produced throughout the lifecycle. These artifacts are not indepen-
dent from each other and are often interlinked with each other via
so-called traceability links. These artifacts and their traceability
link information are typically stored in modern application lifecycle
management (ALM) tools [23]. With the increased popularity of
DevOps and Agile methodologies, and explosion of ALM tools us-
age [9], it is relatively easier to access this traceability information.
Previously, we reported our initial experience with a reviewer
recommendation algorithm in [21]. In this study, we extend our
previous work and introduce RSTrace for reviewer suggestion us-
ing software artifact traceability graphs. We address two research
questions in this study:
RQ1: How does the accuracy of RSTrace compare to state-of-the-
art reviewer suggestion approaches?
RQ2: How does the performance of RSTrace vary according to
data availability?
To show the applicability of our approach, we conducted an
initial experiment on an open-source project, Qt 3D Studio. This
experiment was used to calibrate our approach. We have further
evaluated our approach on 37 more open source projects. We con-
frm that our proposed reviewer recommendation approach obtains
promising average top-1, top-3, top-5 accuracy and MRR scores
than existing reviewer recommendation approaches.
In the next section, we describe background information related
to graph analysis and reviewer suggestion. In Section 3, we for-
mulate the reviewer suggestion problem using software artifact
traceability links and provide details related to our approach. The
practical tool support for RSTrace that is integrated with GitHub
is explained in Section 4. In Section 5, to calibrate our approach,