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,