Utilizing Deep Architecture Networks of VAE in Software Fault Prediction

Sun Yuanyuan, Lele Xu, Ye Li, Lili Guo, Zhongsong Ma, Yongming Wang · 2018

No matter how experienced the programmers are, it is very hard for them to avoid software fault in software projects. How to predict fault in order to reduce risk and enhance the reliability of software is an important challenge in software engineering. With successful application of deep learning in the field of image processing, voice and natural language, it is time to study how to apply deep learning technology in the field of software fault prediction. In this paper, we adopt deep learning technique of Variational Autoencoder(VAE) for software fault prediction. VAE has the ability to generate new samples according to the distribution of original data, which has been used to generate new images. How to use VAE to predict fault of software is studied in this paper. As we known, there is a problem of imbalanced data in software fault prediction. There always exist less data to indicate failure module and much more data to represent non-failure module. How to classify the data in this situation is an issue worthy of study. In this paper, we utilize the ability of generating new samples to produce failure data in order to balance the failure and non-failure samples. We design the structure of VAE by MLP to fit for the data dimension of software fault and the model of VAE is realized on GPU TITAN X. Five typical classifiers are adopted to verify that our idea of using VAE is effective for software fault prediction in practice.

Read the paper · More papers on PaperTik