Software Defect Prediction Using Metaheuristic Algorithms and Classification Techniques
From the start of software development, Software Defect Prediction (SDP) is a significant and emerging challenge in the field of software engineering. Without an accurate model for predicting flaws in software, a product may be released in an unsatisfactory condition which might lead to expensive post-developmental activities. Thus, the prediction of software defects in the early stages has become a primary interest in the field of software engineering. Several defect prediction approaches that rely on software metrics have been proposed. Support Vector Machine (SVM), Naïve Bayes (NB), Bagging, Neural network, and decision tree (DS) classifiers are known to perform well in predicting bugs. In the prediction of software bugs, this study explored some selected metaheuristics algorithms for feature selection, namely; Firefly Algorithm (FA) and Wolf Search Algorithm (WSA). The Support Vector Machine (SVM) as well as Random Forest (RF) was used as classifiers. This study experiments the proposed models on the publicly available data sets of software modules and provides comparative performance analysis of different machine learning techniques for software bug prediction. Thus, it was discovered that metaheuristics optimization for attribute reduction can produce outstanding results in the prediction of software defects.
Aleem, S., Capretz, L. F., & Ahmed, F. (2015). Benchmarking machine learning technologies for software defect detection. arXiv preprint arXiv:1506.07563.
Alsaeedi, A., & Khan, M. Z. (2019). Software Defect Prediction Using Supervised Machine Learning and Ensemble Techniques: A Comparative Study. Journal of Software Engineering and Applications, 12(5), 85-100.
Arar, Ö. F., & Ayan, K. (2017). A feature dependent Naive Bayes approach and its application to the software defect prediction problem. Applied Soft Computing, 59, 197-209.
Balogun, A., Bajeh, A., Mojeed, H., & Akintola, A. (2020). Software defect prediction: A multi-criteria decision-making approach. Nigerian Journal of Technological Research, 15(1), 35-42.
Balogun, A., Oladele, R., Mojeed, H., Amin-Balogun, B., Adeyemo, V. E., & Aro, T. O. (2019). Performance Analysis of Selected Clustering Techniques for Software Defects Prediction.
Ibrahim, D. R., Ghnemat, R., & Hudaib, A. (2017). Software defect prediction using feature selection and random forest algorithm. Paper presented at the 2017 International Conference on New Trends in Computing Sciences (ICTCS).
Lamba, T., & Mishra, A. (2019). Optimal machine learning model for software defect prediction. International Journal of Intelligent Systems and Applications, 11(2), 36.
Lenberg, P., Feldt, R., & Wallgren, L. G. (2015). Behavioral software engineering: A definition and systematic literature review. Journal of Systems and software, 107, 15-37.
Liu, M., Wang, M., Wang, J., & Li, D. (2013). Comparison of random forest, support vector machine and back propagation neural network for electronic tongue data classification: Application to the recognition of orange beverage and Chinese vinegar. Sensors and Actuators B: Chemical, 177, 970-980.
Moustafa, S., Elnainay, M., El Makky, N., & Abougabal, M. (2018). Software bug prediction using weighted majority voting techniques Alexandria Eng: J.
Öztürk, M. M., Cavusoglu, U., & Zengin, A. (2015). A novel defect prediction method for web pages using k-means++. Expert Systems with Applications, 42(19), 6496-6506.
Prasad, M., Florence, L., & Arya, A. (2015). A study on software metrics based software defect prediction using data mining and machine learning techniques. International Journal of Database Theory and Application, 8(3), 179-190.
Puranik, S., Deshpande, P., & Chandrasekaran, K. (2016). A novel machine learning approach for bug prediction. Procedia Computer Science, 93, 924-930.
Rong, X., Li, F., & Cui, Z. (2016). A model for software defect prediction using support vector machine based on CBA. International Journal of Intelligent Systems Technologies and Applications, 15(1), 19-34.
Tang, R., Fong, S., Yang, X.-S., & Deb, S. (2012). Wolf search algorithm with ephemeral memory. Paper presented at the Seventh International Conference on Digital Information Management (ICDIM 2012).
Ukil, A. (2007). Support vector machine Intelligent Systems and Signal Processing in Power Engineering (pp. 161-226): Springer.
Usman-Hamza, F., Atte, A., Balogun, A., Mojeed, H., Bajeh, A., & Adeyemo, V. (2019). Impact of feature selection on classification via clustering techniques in software defect prediction. Journal of Computer Science and Its Application, 26(1).
Valles-Barajas, F. (2015). A comparative analysis between two techniques for the prediction of software defects: fuzzy and statistical linear regression. Innovations in Systems and Software Engineering, 11(4), 277-287.
Wong, T.-T. (2015). Performance evaluation of classification algorithms by k-fold and leave-one-out cross validation. Pattern Recognition, 48(9), 2839-2846.
Yang, X.-S. (2010). Firefly algorithm, stochastic test functions and design optimisation. arXiv preprint arXiv:1003.1409.