Towards Automating Code Review Activities

by   Rosalia Tufano, et al.

Code reviews are popular in both industrial and open source projects. The benefits of code reviews are widely recognized and include better code quality and lower likelihood of introducing bugs. However, since code review is a manual activity it comes at the cost of spending developers' time on reviewing their teammates' code. Our goal is to make the first step towards partially automating the code review process, thus, possibly reducing the manual costs associated with it. We focus on both the contributor and the reviewer sides of the process, by training two different Deep Learning architectures. The first one learns code changes performed by developers during real code review activities, thus providing the contributor with a revised version of her code implementing code transformations usually recommended during code review before the code is even submitted for review. The second one automatically provides the reviewer commenting on a submitted code with the revised code implementing her comments expressed in natural language. The empirical evaluation of the two models shows that, on the contributor side, the trained model succeeds in replicating the code transformations applied during code reviews in up to 16 model can correctly implement a comment provided in natural language in up to 31 make these models usable by developers.



There are no comments yet.


page 3


CORE: Automating Review Recommendation for Code Changes

Code review is a common process that is used by developers, in which a r...

On The Effect Of Code Review On Code Smells

Code smells are symptoms of poor design quality. Since code review is a ...

Code Review in the Classroom

This paper presents a case study to examine the affinity of the code rev...

Recommending Code Understandability Improvements based on Code Reviews

Developers spend 70 read can save time, while hard-to-read code can lead...

Refactoring Practices in the Context of Modern Code Review: An Industrial Case Study at Xerox

Modern code review is a common and essential practice employed in both i...

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...

STYLE-ANALYZER: fixing code style inconsistencies with interpretable unsupervised algorithms

Source code reviews are manual, time-consuming, and expensive. Human inv...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.