Software Defect Prediction via Convolutional Neural Network

By Jian Li, Pinjia He, Jieming Zhu, Michael R. Lyu. International Conference on Software Quality, Reliability and Security, 2017

406 citations recorded by the source corpus.

To improve software reliability, software defect prediction is utilized to assist developers in finding potential bugs and allocating their testing efforts. Traditional defect prediction studies mainly focus on designing hand-crafted features, which are input into machine learning classifiers to identify defective code. However, these hand-crafted features often fail to capture the semantic and structural information of programs. Such information is important in modeling program functionality and can lead to more accurate defect prediction.In this paper, we propose a framework called Defect Prediction via Convolutional Neural Network (DP-CNN), which leverages deep learning for effective feature generation. Specifically, based on the programs' Abstract Syntax Trees (ASTs), we first extract token vectors, which are then encoded as numerical vectors via mapping and word embedding. We feed the numerical vectors into Convolutional Neural Network to automatically learn semantic and structural features of programs. After that, we combine the learned features with traditional hand-crafted features, for accurate software defect prediction. We evaluate our method on seven open source projects in terms of F-measure in defect prediction. The experimental results show that in average, DP-CNN improves the state-of-the-art method by 12%.

Subfields: Computer Networks and Communications, Information Systems, Software

View Paper: https://www.semanticscholar.org/paper/95badade580eeff6a2f512268a017b9b66c6a212

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Computer Networks and Communications

  1. Hai Jin
  2. Lin Tan
  3. Thibaud Lutellier
  4. Hung Viet Pham
  5. Shouhuai Xu

In Information Systems

  1. Moshi Wei
  2. Lin Tan
  3. Yitong Li
  4. Thibaud Lutellier
  5. Hung Viet Pham
  6. Shouhuai Xu
  7. Lawrence Pang
  8. Chun Xia

In Software

  1. Lin Tan
  2. Thibaud Lutellier
  3. Hung Viet Pham
  4. Chun Xia
  5. Lingming Zhang
  6. Michael Pradel

Citations in the corpus