  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% of cases. On the reviewer side, the
model can correctly implement a comment provided in natural language in up to
31% of cases. While these results are encouraging, more research is needed to
make these models usable by developers.
