Publication Type

Conference Proceeding Article

Version

publishedVersion

Publication Date

4-2019

Abstract

Code review, an inspection of code changes in order to identify and fix defects before integration, is essential in Software Quality Assurance (SQA). Code review is a time-consuming task since the reviewers need to understand, analysis and provide comments manually. To alleviate the burden of reviewers, automatic code review is needed. However, this task has not been well studied before. To bridge this research gap, in this paper, we formalize automatic code review as a multi-instance learning task that each change consisting of multiple hunks is regarded as a bag, and each hunk is described as an instance. We propose a novel deep learning model named DeepReview based on Convolutional Neural Network (CNN), which is an end-to-end model that learns feature representation to predict whether one change is approved or rejected. Experimental results on open source projects show that DeepReview is effective in automatic code review tasks. In terms of F1 score and AUC, DeepReview outperforms the performance of traditional single-instance based model TFIDF-SVM and the state-of-the-art deep feature based model Deeper.

Keywords

Automatic code review, Machine learning, Multi-instance learning, Software mining

Discipline

Software Engineering

Research Areas

Data Science and Engineering

Publication

Advances in knowledge discovery and data mining: 23rd Pacific-Asia Conference, PAKDD 2019, Macau, China, April 14-17: Proceedings

Volume

11440

First Page

318

Last Page

330

ISBN

9783030161446

Identifier

10.1007/978-3-030-16145-3_25

Publisher

Springer

City or Country

Cham

Copyright Owner and License

Publisher

Additional URL

https://doi.org/10.1007/978-3-030-16145-3_25

Share

COinS