Using Large-scale Heterogeneous Graph Representation Learning for Code Review Recommendations at Microsoft
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. Fortunately, at Microsoft, we have a wealth of work artifacts across many repositories that can yield valuable information about our developers. To address the aforementioned problem, 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 (PRs), 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 within Microsoft. 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."
Code (0)
등록된 구현이 없습니다.
Tasks
Graph Representation LearningManagementRecommendation SystemsRepresentation LearningMethods 이 논문이 사용한 방법론
Similar Papers 제목 키워드 기반
RHCO: A Relation-aware Heterogeneous Graph Neural Network with Contrastive Learning for Large-scale Graphs
Heterogeneous graph neural networks (HGNNs) have been widely applied in heterogeneous information network tasks, while most HGNNs suffer from poor scalability or weak representation when they are applied to large-scale h…
Contrastive LearningGraph Neural NetworkGraph Representation LearningRelation+1HeSRN: Representation Learning On Heterogeneous Graphs via Slot-Aware Retentive Network
Graph Transformers have recently achieved remarkable progress in graph representation learning by capturing long-range dependencies through self-attention. However, their quadratic computational complexity and inability …
Graph Representation LearningNode ClassificationWhen Heterophily Meets Heterogeneous Graphs: Latent Graphs Guided Unsupervised Representation Learning
Unsupervised heterogeneous graph representation learning (UHGRL) has gained increasing attention due to its significance in handling practical graphs without labels. However, heterophily has been largely ignored, despite…
Graph Representation LearningRepresentation LearningUniKG: A Benchmark and Universal Embedding for Large-Scale Knowledge Graphs
Irregular data in real-world are usually organized as heterogeneous graphs (HGs) consisting of multiple types of nodes and edges. To explore useful knowledge from real-world data, both the large-scale encyclopedic HG dat…
AttributeGraph LearningGraph Representation LearningKnowledge Graphs+2HeteroMILE: a Multi-Level Graph Representation Learning Framework for Heterogeneous Graphs
Heterogeneous graphs are ubiquitous in real-world applications because they can represent various relationships between different types of entities. Therefore, learning embeddings in such graphs is a critical problem in …
Graph EmbeddingGraph Representation LearningLink PredictionNode Classification+1