A Deep Dive into Software Fault Prediction: Evaluating CNN and RNN Models
Sai Krishna Gunda · 2024
Software fault prediction is a fundamental task in software engineering because early detection of defects leads to less maintenance costs and better-quality programs. This study also cites a deep learning model for software defect prediction based on Convolutional Neural Networks (CNN) and Recurrent Neural Networks (RNN). The process of methodology includes collecting a software measurement dataset, performing feature scaling and transformation on it, and splitting the data into training and validation. Later, CNN and RNN models were trained to evaluate according to relevant metrics including accuracy, precision, recall, F1-score, ROC, and, AUC. However, in the evaluation, CNN reached an accuracy of 81.35%, an F1-score is 47.21% and an ROC AUC is 78.59%, while RNN had an accuracy of 81.05%, an F1-score is 46.89%, and an ROC AUC of 77.79%. While both models have similar accuracy, CNN outperforms RNN in precision and ROCAUC which means it can detect software vulnerabilities with fewer false positives. However, the RNN exhibits only slightly better recall, suggesting that it identified a larger portion of failing cases. This research underscores that various deep learning approaches each have their advantages and limitations in defect prediction. It contributes to the literature on software failure prediction using deep learning models and offers practical guidance for practitioners aiming to enhance software reliability.