kirancodes.me
To Proof Maintenance & Beyond!

node2defect: using network embedding to improve software defect prediction

Yu Qu, Ting Liu, Jianlei Chi, Yangxu Jin, Di Cui, Ancheng He, Qinghua Zheng

Abstract

Network measures have been proved to be useful in predicting software defects. Leveraging the dependency relationships between software modules, network measures can capture various structural features of software systems. However, existing studies have relied on user-defined network measures (e.g., degree statistics or centrality metrics), which are inflexible and require high computation cost, to describe the structural features. In this paper, we propose a new method called node2defect which uses a newly proposed network embedding technique, node2vec, to automatically learn to encode dependency network structure into low-dimensional vector spaces to improve software defect prediction. Specifically, we firstly construct a program's Class Dependency Network. Then node2vec is used to automatically learn structural features of the network. After that, we combine the learned features with traditional software engineering features, for accurate defect prediction. We evaluate our method on 15 open source programs. The experimental results show that in average, node2defect improves the state-of-the-art approach by 9.15% in terms of F-measure.

BibTeX
@inproceedings{Qu-al:ASE18,
  author    = {Yu Qu and
               Ting Liu and
               Jianlei Chi and
               Yangxu Jin and
               Di Cui and
               Ancheng He and
               Qinghua Zheng},
  title     = {node2defect: using network embedding to improve software defect prediction},
  booktitle = {ASE},
  pages     = {844--849},
  publisher = {{ACM}},
  year      = {2018},
}

Related papers