Software Failure Prediction Based on Game Theory and Convolutional Neural Network Optimized by Cat Hunting Optimization (CHO) Algorithm
Keywords:
Software failure prediction, Feature selection, Cat Hunting algorithm, GAN, SMOTE, CNNAbstract
Predicting the failure of software projects in the stages of software production reduces the losses of software companies. Deep learning methods are an efficient tool for software failure prediction. Imbalance of data sets, intelligent feature selection, and accurate deep learning techniques are among the challenges of deep learning methods for accurate software failure prediction. This manuscript presents an improved game theory method based on the Generative adversarial (GAN) network to predict software failure and success. In the second stage, the cat-hunting algorithm is used to select features and reduce the dimensions of the samples. The dimensionally reduced samples are converted into RGB color images in the third step. RGB images are used for convolutional neural network(CNN) training. The advantage of the proposed method is to intelligently select the feature, reduce the input of the CNN neural network, and simultaneously balance the training samples with game theory to increase the accuracy of the prediction model. In this manuscript, the NASA dataset is used to predict the failure of software projects. The accuracy of the proposed method (GCV) in predicting the failure of software projects is equal to 96.69%. The GCV method is more accurate in predicting the failure of software projects than the LSTM and VGG16 methods. The proposed method is more accurate in feature selection than Chi, IG, and ReF WOA, HHO, and JSO algorithms methods.
References
R. Malhotra, S. Chawla, and A. Sharma, "Software defect prediction using hybrid techniques: a systematic literature review," Soft Computing, pp. 1-34, 2023, doi: 10.1007/s00500-022-07738-w.
D. A. Rebro, B. Rossi, and S. Chren, "Source Code Metrics for Software Defects Prediction," arXiv preprint arXiv:2301.08022, 2023, doi: 10.1145/3555776.3577809.
R. Vashisht and S. A. M. Rizvi, "Addressing Noise and Class Imbalance Problems in Heterogeneous Cross-Project Defect Prediction: An Empirical Study," International Journal of e-Collaboration (IJeC), vol. 19, no. 1, pp. 1-27, 2023, doi: 10.4018/IJeC.315777.
F. Huang and L. Strigini, "HEDF: A Method for Early Forecasting Software Defects based on Human Error Mechanisms," IEEE Access, 2023, doi: 10.1109/ACCESS.2023.3234490.
N. Yadav and V. Yadav, "Software reliability prediction and optimization using machine learning algorithms: A review," Journal of Integrated Science and Technology, vol. 11, no. 1, pp. 457-457, 2023.
R. Moussa and F. Sarro, "On the use of evaluation measures for defect prediction studies," in Proceedings of the 31st ACM SIGSOFT International Symposium on Software Testing and Analysis, July 2022, pp. 101-113, doi: 10.1145/3533767.3534405.
J. Pachouly, S. Ahirrao, K. Kotecha, G. Selvachandran, and A. Abraham, "A systematic literature review on software defect prediction using artificial intelligence: Datasets, Data Validation Methods, Approaches, and Tools," Engineering Applications of Artificial Intelligence, vol. 111, p. 104773, 2022, doi: 10.1016/j.engappai.2022.104773.
G. G. Cabral and L. L. Minku, "Towards reliable online just-in-time software defect prediction," IEEE Transactions on Software Engineering, vol. 49, no. 3, pp. 1342-1358, 2022, doi: 10.1109/TSE.2022.3175789.
B. U. Sharma and R. Sadam, "Do the Defect Prediction Models Really Work?," arXiv e-prints, 2023.
M. Gupta, K. Rajnish, and V. Bhattacharya, "Effectiveness of Ensemble Classifier Over State-Of-Art Machine Learning Classifiers for Predicting Software Faults in Software Modules," in Machine Learning, Image Processing, Network Security and Data Sciences: Select Proceedings of 3rd International Conference on MIND 2021, January 2023, pp. 77-88, doi: 10.1007/978-981-19-5868-7_7.
M. Jorayeva, A. Akbulut, C. Catal, and A. Mishra, "Machine learning-based software defect prediction for mobile applications: A systematic literature review," Sensors, vol. 22, no. 7, p. 2551, 2022, doi: 10.3390/s22072551.
S. Gurung, "Performing Software Defect Prediction Using Deep Learning," in Cognition and Recognition: 8th International Conference, ICCR 2021, January 2023, pp. 319-331, doi: 10.1007/978-3-031-22405-8_25.
N. C. Shrikanth, S. Majumder, and T. Menzies, "Early life cycle software defect prediction. why? how?," in 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE), May 2021, pp. 448-459, doi: 10.1109/ICSE43902.2021.00050.
M. Shafiq, F. H. Alghamedy, N. Jamal, T. Kamal, Y. I. Daradkeh, and M. Shabaz, "Scientific programming using optimized machine learning techniques for software fault prediction to improve software quality," IET Software, 2023, doi: 10.1049/sfw2.12091.
S. Hameed, Y. Elsheikh, and M. Azzeh, "An optimized case-based software project effort estimation using genetic algorithm," Information and Software Technology, vol. 153, p. 107088, 2023, doi: 10.1016/j.infsof.2022.107088.
F. Meng, W. Cheng, and J. Wang, "Semi-supervised software defect prediction model based on tri-training," KSII Transactions on Internet & Information Systems, vol. 15, no. 11, 2021, doi: 10.3837/tiis.2021.11.009.
H. Krasner, "The cost of poor software quality in the US: A 2020 report," Proc. Consortium Inf. Softw. QualityTM (CISQTM), 2021.
M. Jagtap, P. Katragadda, and P. Satelkar, "Software Reliability: Development of Software Defect Prediction Models Using Advanced Techniques," in 2022 Annual Reliability and Maintainability Symposium (RAMS), January 2022, pp. 1-7, doi: 10.1109/RAMS51457.2022.9893986.
M. Azzeh, Y. Elsheikh, A. B. Nassif, and L. Angelis, "Examining the performance of kernel methods for software defect prediction based on support vector machine," Science of Computer Programming, vol. 226, p. 102916, 2023, doi: 10.1016/j.scico.2022.102916.
A. Iqbal and S. Aftab, "A Classification Framework for Software Defect Prediction Using Multi-filter Feature Selection Technique and MLP," International Journal of Modern Education & Computer Science, vol. 12, no. 1, 2020, doi: 10.5815/ijmecs.2020.01.03.
Z. Marian, I. G. Mircea, I. G. Czibula, and G. Czibula, "A novel approach for software defect prediction using fuzzy decision trees," in 2016 18th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC), September 2016, pp. 240-247, doi: 10.1109/SYNASC.2016.046.
A. Balaram and S. Vasundra, "Prediction of software fault-prone classes using ensemble random forest with adaptive synthetic sampling algorithm," Automated Software Engineering, vol. 29, no. 1, p. 6, 2022, doi: 10.1007/s10515-021-00311-z.
J. Goyal and R. Ranjan Sinha, "Software defect-based prediction using logistic regression: Review and challenges," in Second International Conference on Sustainable Technologies for Computational Intelligence: Proceedings of ICTSCI 2021, 2022, pp. 233-248, doi: 10.1007/978-981-16-4641-6_20.
C. Pornprasit and C. K. Tantithamthavorn, "Deeplinedp: Towards a deep learning approach for line-level defect prediction," IEEE Transactions on Software Engineering, vol. 49, no. 1, pp. 84-98, 2022, doi: 10.1109/TSE.2022.3144348.
Z. M. Zain, S. Sakri, N. H. A. Ismail, and R. M. Parizi, "Software defect prediction harnessing on multi 1-dimensional convolutional neural network structure," Computers, Materials and Continua, vol. 71, no. 1, p. 1521, 2022, doi: 10.32604/cmc.2022.022085.
M. N. Uddin, B. Li, Z. Ali, P. Kefalas, I. Khan, and I. Zada, "Software defect prediction employing BiLSTM and BERT-based semantic feature," Soft Computing, vol. 26, no. 16, pp. 7877-7891, 2022, doi: 10.1007/s00500-022-06830-5.
W. Zheng, L. Tan, and C. Liu, "Software Defect Prediction Method Based on Transformer Model," in 2021 IEEE International Conference on Artificial Intelligence and Computer Applications (ICAICA), June 2021, pp. 670-674, doi: 10.1109/ICAICA52286.2021.9498179.
B. J. Odejide et al., "An Empirical Study on Data Sampling Methods in Addressing Class Imbalance Problem in Software Defect Prediction," in Software Engineering Perspectives in Systems: Proceedings of 11th Computer Science On-line Conference 2022, July 2022, vol. 1, pp. 594-610, doi: 10.1007/978-3-031-09070-7_49.
A. O. Balogun et al., "Impact of feature selection methods on the predictive performance of software defect prediction models: an extensive empirical study," Symmetry, vol. 12, no. 7, p. 1147, 2020, doi: 10.3390/sym12071147.
S. Zhang, S. Jiang, and Y. Yan, "A Software Defect Prediction Approach Based on BiGAN Anomaly Detection," Scientific Programming, 2022, doi: 10.1155/2022/5024399.
S. Feng, J. Keung, P. Zhang, Y. Xiao, and M. Zhang, "The impact of the distance metric and measure on SMOTE-based techniques in software defect prediction," Information and Software Technology, vol. 142, p. 106742, 2022, doi: 10.1016/j.infsof.2021.106742.
A. Ghaedi, A. K. Bardsiri, and M. J. Shahbazzadeh, "Cat hunting optimization algorithm: a novel optimization algorithm," Evolutionary Intelligence, vol. 16, no. 2, pp. 417-438, 2023, doi: 10.1007/s12065-021-00668-w.
J. Sun, L. Chen, F. Cang, H. Li, and F. Pi, "Civil Aircraft Airborne Software Safety and Reliability Study Based on RTCA/DO-178C," in Proceedings of the 5th International Conference on Computer Science and Software Engineering, October 2022, pp. 27-33, doi: 10.1145/3569966.3569974.
G. Giray, K. E. Bennin, Ö. Köksal, Ö. Babur, and B. Tekinerdogan, "On the use of deep learning in software defect prediction," Journal of Systems and Software, vol. 195, p. 111537, 2023, doi: 10.1016/j.jss.2022.111537.
Y. Guan, J. Zhang, R. Zhang, J. Gan, and M. Liu, "Fault Handling of Digital System in Nuclear Power Plants," in 2022 IEEE International Conference on Advances in Electrical Engineering and Computer Applications (AEECA), August 2022, pp. 166-171, doi: 10.1109/AEECA55500.2022.9919016.
A. Abdu, Z. Zhai, R. Algabri, H. A. Abdo, K. Hamad, and M. A. Al-antari, "Deep Learning-Based Software Defect Prediction via Semantic Key Features of Source Code-Systematic Survey," Mathematics, vol. 10, no. 17, p. 3120, 2022, doi: 10.3390/math10173120.
Y. Tang, Q. Dai, M. Yang, T. Du, and L. Chen, "Software defect prediction ensemble learning algorithm based on adaptive variable sparrow search algorithm," International Journal of Machine Learning and Cybernetics, pp. 1-21, 2023, doi: 10.1007/s13042-022-01740-2.
S. Guo, J. Wang, Z. Xu, L. Huang, H. Li, and R. Chen, "Feature transfer learning by reinforcement learning for detecting software defect," Software: Practice and Experience, vol. 53, no. 2, pp. 366-389, 2023, doi: 10.1002/spe.3152.
A. Alazba and H. Aljamaan, "Software Defect Prediction Using Stacking Generalization of Optimized Tree-Based Ensembles," Applied Sciences, vol. 12, no. 9, p. 4577, 2022, doi: 10.3390/app12094577.
M. Cui, S. Long, Y. Jiang, and X. Na, "Research of Software Defect Prediction Model Based on Complex Network and Graph Neural Network," Entropy, vol. 24, no. 10, p. 1373, 2022, doi: 10.3390/e24101373.
M. Jorayeva, A. Akbulut, C. Catal, and A. Mishra, "Deep Learning-Based Defect Prediction for Mobile Applications," Sensors, vol. 22, no. 13, p. 4734, 2022, doi: 10.3390/s22134734.
M. A. Khan et al., "Software defect prediction using artificial neural networks: A systematic literature review," Scientific Programming, 2022, doi: 10.1155/2022/2117339.
S. Goyal, "Handling class-imbalance with KNN (neighbourhood) under-sampling for software defect prediction," Artificial Intelligence Review, vol. 55, no. 3, pp. 2023-2064, 2022, doi: 10.1007/s10462-021-10044-w.
S. Goyal, "Effective software defect prediction using support vector machines (SVMs)," International Journal of System Assurance Engineering and Management, vol. 13, no. 2, pp. 681-696, 2022, doi: 10.1007/s13198-021-01326-1.
C. Arun and C. Lakshmi, "Genetic algorithm-based oversampling approach to prune the class imbalance issue in software defect prediction," Soft Computing, vol. 26, no. 23, pp. 12915-12931, 2022, doi: 10.1007/s00500-021-06112-6.
N. Zhang, S. Ying, K. Zhu, and D. Zhu, "Software defect prediction based on stacked sparse denoising autoencoders and enhanced extreme learning machine," IET Software, vol. 16, no. 1, pp. 29-47, 2022, doi: 10.1049/sfw2.12029.
R. A. Khurma, H. Alsawalqah, I. Aljarah, M. A. Elaziz, and R. Damaševičius, "An enhanced evolutionary software defect prediction method using island moth flame optimization," Mathematics, vol. 9, no. 15, p. 1722, 2021, doi: 10.3390/math9151722.
L. Yang, Z. Li, D. Wang, H. Miao, and Z. Wang, "Software defects prediction based on hybrid particle swarm optimization and sparrow search algorithm," IEEE Access, vol. 9, pp. 60865-60879, 2021, doi: 10.1109/ACCESS.2021.3072993.
T. Ye, W. Li, J. Zhang, and Z. Cui, "A novel multi‐objective immune optimization algorithm for under sampling software defect prediction problem," Concurrency and Computation: Practice and Experience, vol. 35, no. 4, p. e7525, 2023, doi: 10.1002/cpe.7525.
S. Kanwar et al., "Efficient Random Forest Algorithm for Multi-objective Optimization Optimized ensemble machine learning model for software bugs prediction," Innovations in Systems and Software Engineering, vol. 19, no. 1, pp. 91-101, 2023, doi: 10.1007/s11334-022-00506-x.
S. Goyal, "3PcGE: 3-parent child-based genetic evolution for software defect prediction," Innovations in Systems and Software Engineering, vol. 19, no. 2, pp. 197-216, 2023, doi: 10.1007/s11334-021-00427-1.
S. Goyal, "Genetic evolution-based feature selection for software defect prediction using SVMs," Journal of Circuits, Systems and Computers, vol. 31, no. 11, p. 2250161, 2022, doi: 10.1142/S0218126622501614.
S. Goyal, "FOFS: firefly optimization for feature selection to predict fault-prone software modules In - Data Engineering for Smart Systems: Proceedings of SSIC 2021," Springer Singapore, 2022, pp. 479-487.
K. L. Wong, K. S. Chou, R. Tse, S. K. Tang, and G. Pau, "A Novel Fusion Approach Consisting of GAN and State-of-Charge Estimator for Synthetic Battery Operation Data Generation," Electronics, vol. 12, no. 3, p. 657, 2023, doi: 10.3390/electronics12030657.
J. H. Joloudari, A. Marefat, M. A. Nematollahi, S. S. Oyelere, and S. Hussain, "Effective Class-Imbalance Learning Based on SMOTE and Convolutional Neural Networks," Applied Sciences, vol. 13, no. 6, p. 4006, 2023, doi: 10.3390/app13064006.
A. El-Ghamry, A. Darwish, and A. E. Hassanien, "An optimized CNN-based intrusion detection system for reducing risks in smart farming," Internet of Things, vol. 22, p. 100709, 2023, doi: 10.1016/j.iot.2023.100709.
J. S. Chou and D. N. Truong, "A novel metaheuristic optimizer inspired by behavior of jellyfish in ocean," Applied Mathematics and Computation, vol. 389, p. 125535, 2021, doi: 10.1016/j.amc.2020.125535.
B. Abdollahzadeh, F. S. Gharehchopogh, and S. Mirjalili, "African vultures optimization algorithm: A new nature-inspired metaheuristic algorithm for global optimization problems," Computers & Industrial Engineering, vol. 158, p. 107408, 2021, doi: 10.1016/j.cie.2021.107408.
M. Dehghani, Z. Montazeri, E. Trojovská, and P. Trojovský, "Coati Optimization Algorithm: A new bio-inspired metaheuristic algorithm for solving optimization problems," Knowledge-Based Systems, vol. 259, p. 110011, 2023, doi: 10.1016/j.knosys.2022.110011.
S. Mirjalili and A. Lewis, "The whale optimization algorithm," Advances in Engineering Software, vol. 95, pp. 51-67, 2016, doi: 10.1016/j.advengsoft.2016.01.008.
A. A. Heidari, S. Mirjalili, H. Faris, I. Aljarah, M. Mafarja, and H. Chen, "Harris hawks optimization: Algorithm and applications," Future Generation Computer Systems, vol. 97, pp. 849-872, 2019, doi: 10.1016/j.future.2019.02.028.
M. J. Hernández-Molinos, A. J. Sánchez-García, R. E. Barrientos-Martínez, J. C. Pérez-Arriaga, and J. O. Ocharán-Hernández, "Software Defect Prediction with Bayesian Approaches," Mathematics, vol. 11, no. 11, p. 2524, 2023, doi: 10.3390/math11112524.
H. Das, S. Prajapati, M. K. Gourisaria, R. M. Pattanayak, A. Alameen, and M. Kolhar, "Feature Selection Using Golden Jackal Optimization for Software Fault Prediction," Mathematics, vol. 11, no. 11, p. 2438, 2023, doi: 10.3390/math11112438.
M. Akour, M. Alenezi, and H. Alsghaier, "Software Refactoring Prediction Using SVM and Optimization Algorithms," Processes, vol. 10, no. 8, p. 1611, 2022, doi: 10.3390/pr10081611.
E. Borandag, "Software Fault Prediction Using an RNN-Based Deep Learning Approach and Ensemble Machine Learning Techniques," Applied Sciences, vol. 13, no. 3, p. 1639, 2023, doi: 10.3390/app13031639.