Using Large-scale Heterogeneous Graph Representation Learning for Code Review Recommendations

02/04/2022
by   Jiyang Zhang, et al.
0

Code review is an integral part of any mature software development process, and identifying the best reviewer for a code change is a well accepted problem within the software engineering community. Selecting a reviewer who lacks expertise and understanding can slow development or result in more defects. To date, most reviewer recommendation systems rely primarily on historical file change and review information; those who changed or reviewed a file in the past are the best positioned to review in the future. We posit that while these approaches are able to identify and suggest qualified reviewers, they may be blind to reviewers who have the needed expertise and have simply never interacted with the changed files before. To address this, we present CORAL, a novel approach to reviewer recommendation that leverages a socio-technical graph built from the rich set of entities (developers, repositories, files, pull requests, work-items, etc.) and their relationships in modern source code management systems. We employ a graph convolutional neural network on this graph and train it on two and a half years of history on 332 repositories. We show that CORAL is able to model the manual history of reviewer selection remarkably well. Further, based on an extensive user study, we demonstrate that this approach identifies relevant and qualified reviewers who traditional reviewer recommenders miss, and that these developers desire to be included in the review process. Finally, we find that "classical" reviewer recommendation systems perform better on smaller (in terms of developers) software projects while CORAL excels on larger projects, suggesting that there is "no one model to rule them all."

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/15/2022

Code Recommendation for Open Source Software Developers

Open Source Software (OSS) is forming the spines of technology infrastru...
research
02/17/2023

Towards the Assisted Decomposition of Large-Active Files

Tightly coupled and interdependent systems inhibit productivity by requi...
research
12/22/2018

An Industrial Case Study on Shrinking Code Review Changesets through Remark Prediction

Change-based code review is used widely in industrial software developme...
research
04/20/2022

Modeling Review History for Reviewer Recommendation:A Hypergraph Approach

Modern code review is a critical and indispensable practice in a pull-re...
research
07/30/2018

Automatic Clone Recommendation for Refactoring Based on the Present and the Past

When many clones are detected in software programs, not all clones are e...
research
10/15/2021

Nalanda: A Socio-Technical Graph for Building Software Analytics Tools at Enterprise Scale

Software development is information-dense knowledge work that requires c...
research
06/12/2023

Assessing the Impact of File Ordering Strategies on Code Review Process

Popular modern code review tools (e.g. Gerrit and GitHub) sort files in ...

Please sign up or login with your details

Forgot password? Click here to reset