Application of Deep Learning in Software Defect Prediction: Systematic Literature Review and Meta-analysis
Zuhaira Muhammad Zain,Sapiah Sakri,Nurul Halimatul Asmak Ismail
DOI: https://doi.org/10.1016/j.infsof.2023.107175
IF: 3.9
2023-02-16
Information and Software Technology
Abstract:Context Despite recent attention given to Software Defect Prediction (SDP), the lack of any systematic effort to assess existing empirical evidence on the application of Deep Learning (DL) in SDP indicates that it is still relatively under-researched. Objective To synthesize literature on SDP using DL, pertaining to measurements, models, techniques, datasets, and achievements; to obtain a full understanding of current SDP-related methodologies using DL; and to compare the DL models' performances with those of Machine Learning (ML) models in classifying software defects. Method We completed a thorough review of the literature in this domain. To answer the research issues, results from primary investigations were synthesized. The preliminary findings for DL vs. ML in SDP were verified by using meta-analysis (MA). Result We discovered 63 primary studies that passed the systematic literature review quality evaluation. However, only 19 primary studies passed the MA quality evaluation. The five most popular performance measurements employed in SDP were f-measure, recall, accuracy, precision, and Area Under the Curve (AUC). The top five DL techniques used in building SDP models were Convolutional Neural Network (CNN), Deep Neural Network (DNN), Long Short-Term Memory (LSTM), Deep Belief Network (DBN), and Stacked Denoising Autoencoder (SDAE). PROMISE and NASA datasets were found to be used more frequently to train and test DL models in SDP. The MA results show that DL was favored over ML in terms of study and dataset across accuracy, f-measure, and AUC. Conclusion The application of DL in SDP remains a challenge, but it has the potential to achieve better predictive performance when the performance-influencing parameters are optimized. We provide a reference point for future research which could be used to improve research quality in this domain.
computer science, information systems, software engineering