A method for software fault prediction with combination of chaos theory and herd horse optimization algorithm

Document Type : Original Article

Authors

1 Master's degree, Imam Hossein University, Tehran, Iran

2 Assistant Professor, Imam Hossein (AS) University, Tehran, Iran

Abstract

A software defect, error, or failure is an incorrect or unexpected behavior in a software product. It results in undesired outcomes and behaves in unintended ways. This is a flaw in a software product that leads to unexpected performance. Predicting software defects involves the process of tracking defective components in the software and before starting the testing phases. In fact, the occurrence of defects is inevitable, but we must minimize the number of defects. This leads to a reduction in development time and cost, reduction in rework efforts, increased customer satisfaction, and software reliability. In this research, a multi-stage process has been used to predict software errors, where the pre-processing operation was performed to improve the data in the first stage. After the improvement operation, feature extraction operations were used to extract influential features. In this research, the wild horse algorithm was used to extract features. Finally, the decision tree algorithm was used to predict software errors. The evaluation metrics in this research are classification metrics, including accuracy, precision, recall, and F-measure. In this research, the standard dataset described in the base article was used for predicting software errors. Finally, a comparison was made between the proposed method and the base article method. The results showed that the performance of the wild horse algorithm (in the proposed method) is superior to the whale algorithm (in the base article) for feature selection because the wild horse algorithm was able to traverse the problem space appropriately. Additionally, the proposed algorithm utilized the theory of chaos to create diversity in the solutions. Therefore, the performance of the wild horse algorithm is superior to the whale algorithm in terms of comparison.

Keywords

Main Subjects


Smiley face

 

[1] S. S. Rathore and S. Kumar, "A study on software fault prediction techniques," Artificial Intelligence Review, vol. 51, no. 2, pp. 255-327, Feb. 2019. https://doi.org/10.1007/s10462-017-9563-5.
[2] W. Rhmann, B. Pandey, G. Ansari, and D. K. Pandey, "Software fault prediction based on change metrics using hybrid algorithms: An empirical study," Journal of King Saud University - Computer and Information Sciences, vol. 32, no. 4, pp. 419-424, May 2020. https://doi.org/10.1016/j.jksuci.2019.03.006.
[3] S. S. Rathore and S. Kumar, "An empirical study of ensemble techniques for software fault prediction," Applied Intelligence, vol. 51, no. 6, pp. 3615-3644, Jun. 2021. https://doi.org/10.1007/s10489-020-01935-6.
[4] E. Erturk and E. A. Sezer, "A comparison of some soft computing methods for software fault prediction," Expert Systems with Applications, vol. 42, no. 4, pp. 1872-1879, 2015. https://doi.org/10.1016/j.eswa.2014.10.025.
[5] D. Sharma and P. Chandra, "A comparative analysis of soft computing techniques in software fault prediction model development," International Journal of Information Technology, vol. 11, no. 1, pp. 37-46, Mar. 2019. https://doi.org/10.1007/s41870-018-0211-3.
[6] V. Garousi, M. Felderer, and F. N. Kılıçaslan, "A survey on software testability," Information and Software Technology, vol. 108, pp. 35-64, 2019. https://doi.org/10.1016/j.infsof.2018.12.003.
[7] B. J. Akinsanya et al., "Machine Learning and Value Generation in Software Development: A Survey," Communications in Computer and Information Science, vol. 1288 CCIS, pp. 44-55, 2021. https://doi.org/10.1007/978-3-030-71472-7_3.
[8] S. Masuda, K. Ono, T. Yasue, and N. Hosokawa, "A survey of software quality for machine learning applications," in Proceedings - 2018 IEEE 11th International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2018, pp. 279-284, 2018. 10.1109/ICSTW.2018.00061.
[9] J. Chen, V. Nair, and T. Menzies, "Beyond evolutionary algorithms for search-based software engineering," arXiv preprint arXiv:1701.07950,2017.https://doi.org/10.1016/j.infsof.2017.08.007.
[10] S. S. Rathore and S. Kumar, "Linear and non-linear heterogeneous ensemble methods to predict the number of faults in software systems," Knowledge-Based Systems, vol. 119, pp. 232-256, 2017. https://doi.org/10.1016/j.knosys.2016.12.017.
[13] Wahono, R.S., "A Systematic Literature Review of Software Defect Prediction: Research Trends, Datasets, Methods and Frameworks," Journal of Software Engineering, vol. 1, pp. 1-16, 2017. http://journal.ilmukomputer.org.
[15] B. Boehm and V. R. Basili, "Top 10 list [software development]," Computer, vol. 34, no. 1, pp. 135-137, 2011. doi:10.1109/2.962984.
[16] T. Menzies, Z. Milton, B. Turhan, B. Cukic, Y. Jiang, and A. Bener, "Defect prediction from static code features: current results, limitations, new approaches," Automated Software Engineering, vol. 17, no. 4, pp. 375-407, 2010. https://doi.org/10.1007/s10515-010-0069-5.
[17] S. Omri and C. Sinz, "Deep Learning for Software Defect Prediction," in Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops, New York, NY, USA: ACM, 2020, pp. 209-214. https://doi.org/10.1063/5.0178913.
[18] M. Ravat and S. Dubey, "Software defect prediction models for quality improvement: a literature study," *Int. J. Comput. Sci. Issues*, vol. 9, pp. 288-296, 2012. 
[18] W. Huang and C. Chieh-Jen, "A GA-based feature selection and parameters optimization for support vector machines," *Expert Syst. Appl.*, vol. 31, no. 2, pp. 231-240, 2006. https://doi.org/10.1016/j.eswa.2005.09.024.
[19] M. A. Tahir, A. Bouridane, and F. Kurugollu, "Simultaneous feature selection and feature weighting using hybrid tabu search/k-nearest neighbor classifier," Pattern Recognition Letters, vol. 28, no. 4, pp. 438–446, 2007. https://doi.org/10.1016/j.patrec.2006.08.016.
[20] B. Zarei and M. R. Meybodi, "Improving learning ability of learning automata using chaos theory," Journal of Supercomputing, vol. 77, no. 1, pp. 652–678, 2021. https://doi.org/10.1007/s11227-020-03293-z.
[21] M. Sharafi, F. Fotouhi-Ghazvini, M. Shirali, and M. Ghassemian, "A low power cryptography solution based on chaos theory in wireless sensor nodes," IEEE Access, vol. 7, pp. 8737–8753, 2019. 10.1109/ACCESS.2018.2886384.
[22] A. M. Anter and M. Ali, "Feature selection strategy based on hybrid crow search optimization algorithm integrated with chaos theory and fuzzy c-means algorithm for medical diagnosis problems," Soft Computing, vol. 24, no. 3, pp. 1565–1584, 2020. https://doi.org/10.1007/s00500-019-03988-3.
[23] G. Martin, S. Kaviraj, A. Hocking, S.C. Read, and J.E. Geach, "Galaxy morphological classification in deep-wide surveys via unsupervised machine learning," Monthly Notices of the Royal Astronomical Society, vol. 491, no. 1, pp. 1408–1426, 2020. https://doi.org/10.1093/mnras/stz3006.
[24] A.C. Lorena, L.P.F. Garcia, J. Lehmann, M.C.P. Souto, and T.K.A.M. Ho, "How complex is your classification problem? A survey on measuring classification complexity," ACM Computing Surveys, vol. 52, no. 5, 2019. https://doi.org/10.1145/3347711.
[26] B. Charbuty and A. Abdulazeez, "Classification Based on Decision Tree Algorithm for Machine Learning," Journal of Applied Science and Technology Trends, vol. 2, no. 01, pp. 20-28, 2021. https://doi.org/10.38094/jastt20165.
[27] J. Mrva, Š. Neupauer, L. Hudec, J. Ševcech, and P. Kapec, "Decision Support in Medical Data Using 3D Decision Tree Visualisation," in 2019 E-Health and Bioengineering Conference (EHB), Nov. 2019, pp. 1-4. 10.1109/EHB47216.2019.8969926.
[28] I. Tumar, Y. Hassouneh, H. Turabieh, and T. Thaher, "Enhanced binary moth flame optimization as a feature selection algorithm to predict software fault prediction," IEEE Access, vol. 8, pp. 8041–8055, 2020. 10.1109/ACCESS.2020.2964321.
[29] T. Thaher and N. Arman, "Efficient Multi-Swarm Binary Harris Hawks Optimization as a Feature Selection Approach for Software Fault Prediction," in 2020 11th International Conference on Information and Communication Systems, ICICS 2020, pp. 249–254, 2020. 10.1109/ICICS49469.2020.239557.
[30] Y. Hassouneh, H. Turabieh, T. Thaher, I. Tumar, H. Chantar, and J. Too, "Boosted Whale Optimization Algorithm with Natural Selection Operators for Software Fault Prediction," IEEE Access, vol. 9, pp. 14239–14258, 2021. 10.1109/ACCESS.2021.3052149.
[31] H. Alsghaier and M. Akour, "Software fault prediction using Whale algorithm with genetics algorithm," Softw. Pract. Exp., vol. 51, no. 5, pp. 1121–1146, May 2022. https://doi.org/10.1002/spe.2941.
[32] M. R. Ahmed, M. A. Ali, N. Ahmed, M. F. Bin Zamal, and F. M. J. M. Shamrat, "The Impact of Software Fault Prediction in Real-World Application," in Proceedings of 2020 the 6th International Conference on Computing and Data Engineering, 2020, pp. 247–251. https://doi.org/10.1145/3379247.3379278.
[33] O. Al Qasem, M. Akour, and M. Alenezi, "The Influence of Deep Learning Algorithms Factors in Software Fault Prediction," IEEE Access, vol. 8, pp. 63945–63960, 2020. 10.1109/ACCESS.2020.2985290.
[34] F. MiarNaeimi, G. Azizyan, and M. Rashki, "Horse herd optimization algorithm: A nature-inspired algorithm for high-dimensional optimization problems," Knowledge-Based Syst., vol. 213,p.106711,Feb.2021.https://doi.org/10.1016/j.knosys.2020.106711.
  • Receive Date: 26 July 2024
  • Revise Date: 11 December 2024
  • Accept Date: 02 January 2025
  • Publish Date: 01 February 2025