Publication Type

Conference Proceeding Article

Version

acceptedVersion

Publication Date

5-2019

Abstract

Software quality assurance efforts often focus on identifying defective code. To find likely defective code early, change-level defect prediction – aka. Just-In-Time (JIT) defect prediction – has been proposed. JIT defect prediction models identify likely defective changes and they are trained using machine learning techniques with the assumption that historical changes are similar to future ones. Most existing JIT defect prediction approaches make use of manually engineered features. Unlike those approaches, in this paper, we propose an end-to-end deep learning framework, named DeepJIT, that automatically extracts features from commit messages and code changes and use them to identify defects. Experiments on two popular software projects (i.e., QT and OPENSTACK) on three evaluation settings (i.e., cross-validation, short-period, and long-period) show that the best variant of DeepJIT (DeepJIT-Combined), compared with the best performing state-of-the-art approach, achieves improvements of 10.36-11.02% for the project QT and 9.51- 13.69% for the project OPENSTACK in terms of the Area Under the Curve (AUC).

Keywords

Convolutional neural network, Deep learning, Just-in-time defect prediction

Discipline

Software Engineering

Research Areas

Software and Cyber-Physical Systems

Publication

2019 16th IEEE/ACM International Conference on Mining Software Repositories MSR: Montreal, Canada, May 26-27: Proceedings

First Page

34

Last Page

45

ISBN

9781728134123

Identifier

10.1109/MSR.2019.00016

Publisher

IEEE

City or Country

Piscataway, NJ

Copyright Owner and License

Authors

Additional URL

https://doi.org/10.1109/MSR.2019.00016

Share

COinS