CORE: Automating Review Recommendation for Code Changes

12/20/2019
by   Jingkai Siow, et al.
0

Code review is a common process that is used by developers, in which a reviewer provides useful comments or points out defects in the submitted source code changes via pull request. Code review has been widely used for both industry and open-source projects due to its capacity in early defect identification, project maintenance, and code improvement. With rapid updates on project developments, code review becomes a non-trivial and labor-intensive task for reviewers. Thus, an automated code review engine can be beneficial and useful for project development in practice. Although there exist prior studies on automating the code review process by adopting static analysis tools or deep learning techniques, they often require external sources such as partial or full source code for accurate review suggestion. In this paper, we aim at automating the code review process only based on code changes and the corresponding reviews but with better performance. The hinge of accurate code review suggestion is to learn good representations for both code changes and reviews. To achieve this with limited source, we design a multi-level embedding (i.e., word embedding and character embedding) approach to represent the semantics provided by code changes and reviews. The embeddings are then well trained through a proposed attentional deep learning model, as a whole named CORE. We evaluate the effectiveness of CORE on code changes and reviews collected from 19 popular Java projects hosted on Github. Experimental results show that our model CORE can achieve significantly better performance than the state-of-the-art model (DeepMem), with an increase of 131.03 Recall@10 and 150.69 word analysis among project developers also demonstrates the performance of CORE in automating code review.

READ FULL TEXT
research
01/07/2021

Towards Automating Code Review Activities

Code reviews are popular in both industrial and open source projects. Th...
research
06/14/2023

Towards Automatic Identification of Violation Symptoms of Architecture Erosion

Architecture erosion has a detrimental effect on maintenance and evoluti...
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
01/26/2021

Using a Balanced Scorecard to Identify Opportunities to Improve Code Review Effectiveness: An Industrial Experience Report

Peer code review is a widely adopted software engineering practice to en...
research
03/31/2023

Code Reviewer Recommendation for Architecture Violations: An Exploratory Study

Code review is a common practice in software development and often condu...
research
04/08/2022

Clone Detection on Large Scala Codebases

Code clones are identical or similar code segments. The wide existence o...
research
07/09/2018

CORRECT: Code Reviewer Recommendation in GitHub Based on Cross-Project and Technology Experience

Peer code review locates common coding rule violations and simple logica...

Please sign up or login with your details

Forgot password? Click here to reset