International Journal of AI and Advanced Computing
Review Article
• Open Access
Advanced Software Modeling and Machine Learning for Robust Software Engineering
View PDFAbstract
The increasing complexity of modern software systems necessitates robust approaches for ensuring software quality, reliability, and resilience. This comprehensive research paper synthesizes three critical dimensions of software engineering: early bug prediction using machine learning frameworks, advanced fault tolerance modeling techniques for distributed systems, and the systematic analysis of software engineering higher education curricula. Through empirical evaluation, we demonstrate that Random Forest models achieve exceptional performance in software defect prediction with 99.98% accuracy, outperforming baseline models including ANN, CNN, Decision Tree, AdaBoost, and SVM. Our analysis of fault tolerance mechanisms reveals that advanced software modeling techniques—including state machines, Petri nets, and actor-based frameworks—provide systematic approaches for designing resilient distributed systems capable of maintaining operational continuity despite component failures. Additionally, our systematic examination of 207 courses across 10 Dutch universities identifies critical knowledge area correlations and gaps in software engineering education, particularly highlighting the underrepresentation of software engineering economics and configuration management topics. The integration of these three perspectives offers a holistic framework for advancing software engineering practice through predictive analytics, resilient system design, and evidence-based curriculum development. This research contributes actionable insights for practitioners, educators, and researchers seeking to enhance software quality, system reliability, and educational outcomes in the software engineering domain.
Keywords
Software Bug Prediction, Fault Tolerance, Distributed Systems, Machine Learning, Software Engineering Education, Random Forest, DistilBERT, Petri Nets, Actor Model, SWEBOKReferences
Al-Sulbi, K., & Attaallah, A. (2025). Symmetric bug prediction in software requirement by machine learning algorithms. Scientific Reports, 15(1), 38276. https://doi.org/10.1038/s41598-025-22193-xAli, A., Xia, Y., Umer, Q., & Osman, M. (2024). BERT based severity prediction of bug reports for the maintenance of mobile applications. Journal of Systems and Software, 111898. https://doi.org/10.1016/j.jss.2023.111898
Alsaedi, S. A., Noaman, A. Y., Gad-Elrab, A. A. A., & Eassa, F. E. (2023). Nature-based prediction model of bug reports based on ensemble machine learning model. IEEE Access. https://doi.org/10.1109/ACCESS.2023.3288156
Arasteh, B., Sefati, S. S., Popovici, E. C., Ince, I. F., & Kiani, F. (2025). A bedbug optimization-based machine learning framework for software fault prediction. Mathematics. https://doi.org/10.3390/math13213531
Avizienis, A. (1978). Fault-tolerance: The survival attribute of digital systems. Proceedings of the IEEE, 66(10), 1109-1125.
Avizienis, A., & Kelly, J. P. (1984). Fault tolerance by design diversity: Concepts and experiments. Computer, 17(08), 67-80.
Bharath, K. S., & Jagadeesh, P. (2023). An innovative software bug prediction system using random forest algorithm for enhanced accuracy in comparison with logistic regression algorithm. In 2023 Intelligent Computing and Control for Engineering and Business Systems (ICCEBS).
Bondavalli, A., Chiaradonna, S., Di Giandomenico, F., & Xu, J. (2002). An adaptive approach to achieving hardware and software fault tolerance in a distributed computing environment. Journal of Systems Architecture, 47(9), 763-781.
Dao, A. H., & Yang, C. Z. (2021). Severity prediction for bug reports using multi-aspect features: A deep learning approach. Mathematics. https://doi.org/10.3390/math9141644
Dobre, C., Pop, F., & Cristea, V. (2011). New trends in large scale distributed systems simulation. Journal of Algorithms & Computational Technology, 5(2), 221-257.
Du, X. et al. (2022). CoreBug: Improving effort-aware bug prediction in software systems using generalized k-core decomposition in class dependency networks. Axioms, 11(5). https://doi.org/10.3390/axioms11050205
Fan, G., Liang, Y., Zu, L., Yu, H., Huang, Z., & Chen, W. (2026). Automatic identification of extrinsic bug reports for just-in-time bug prediction. Science of Computer Programming, 249, 103410. https://doi.org/10.1016/j.scico.2025.103410
Gao, Z., Cecati, C., & Ding, S. X. (2015). A survey of fault diagnosis and fault-tolerant techniques—Part I: Fault diagnosis with model-based and signal-based approaches. IEEE Transactions on Industrial Electronics, 62(6), 3757-3767.
Gartner, F. C. (1999). Fundamentals of fault-tolerant distributed computing in asynchronous environments. ACM Computing Surveys (CSUR), 31(1), 1-26.
Hanmer, R. S. (2013). Patterns for fault tolerant software. John Wiley & Sons.
Heeren, B., Dalpiaz, F., Seraj, M., Verdecchia, R., & Zaytsev, V. (2026). A systematic analysis of higher education on software engineering in the Netherlands. Journal of Systems and Software.
Holzmann, G. J. (2004). The SPIN model checker: Primer and reference manual. Addison-Wesley.
Hou, Z., Gong, L., Yang, M., Zhang, Y., & Yang, S. (2022). Software bug prediction based on complex network considering control flow. In 2022 IEEE 22nd International Conference on Software Quality, Reliability, and Security Companion (QRS-C) (pp. 246-254). IEEE. https://doi.org/10.1109/QRS-C57518.2022.00044
Huang, X., Zhang, H., Zhou, X., Shao, D., & Jaccheri, L. (2021). A research landscape of software engineering education. In 2021 28th Asia-Pacific Software Engineering Conference (APSEC) (pp. 181-191). IEEE.
Jasz, J. (2024). The effectiveness of hidden dependence metrics in bug prediction. IEEE Access. https://doi.org/10.1109/ACCESS.2024.3406929
Jumare, H., Darius, & Chinyio, T. (2024). Software defect prediction using machine learning and deep learning techniques. Kasu Journal of Computer Science, 1(3), 527-543. https://doi.org/10.47514/kjcs/2024.1.3.0010
Kabir, S. M. H., Rahman, M. T., & Mridul, A. H. (2025). Software defect prediction using traditional machine learning and ensemble learning algorithms. Smart Wearable Technology. https://doi.org/10.47852/bonviewswt52025645
Kesavan, E. (2025). Software bug prediction using machine learning algorithms: An empirical study on code quality and reliability. International Journal of Innovative Science, Engineering and Management, 377-381. https://doi.org/10.69968/ijisem.2025v4i3377-381
Khleel, N. A. A., & Nehez, K. (2023). A novel approach for software defect prediction using CNN and GRU based on SMOTE Tomek method. Journal of Intelligent Information Systems. https://doi.org/10.1007/s10844-023-00793-1
Koren, I., & Krishna, C. M. (2020). Fault-tolerant systems. Morgan Kaufmann.
Kumari, M., Singh, R., & Singh, V. B. (2025). Prioritization of software bugs using entropy-based measures. Journal of Software: Evolution and Process, 37(2). https://doi.org/10.1002/smr.2742
Kumari, P., & Kaur, P. (2021). A survey of fault tolerance in cloud computing. Journal of King Saud University - Computer and Information Sciences, 33(10), 1159-1176.
Lee, J., & Cheng, Y. C. (2011). Change the face of software engineering education: A field report from Taiwan. Information and Software Technology, 53(1), 51-57.
Liargkavas, G., Papadopoulou, A., Kotti, Z., & Spinellis, D. (2021). Software engineering education knowledge. In Proceedings of the 2021 ACM/IEEE International Conference on Software Engineering.
Malik, B., & Zafar, S. (2012). A systematic mapping study on software engineering education. International Journal of Educational and Pedagogical Sciences, 6(11), 3343-3353.
Mansour, I., Said, M. B., & Kacem, Y. H. (2025). Enhanced software bug prediction using double-stacked ensembles and halving search optimization. Procedia Computer Science, 270, 3789-3798. https://doi.org/10.1016/j.procs.2025.09.504
Murphy, E., Crick, T., & Davenport, J. H. (2016). An analysis of introductory programming courses at UK universities. arXiv preprint arXiv:1609.06622.
Newcombe, C., Rath, T., Zhang, F., Munteanu, B., Brooker, M., & Deardeuff, M. (2015). How Amazon Web Services uses formal methods. Communications of the ACM, 58(4), 66-73.
Pradel, M., & Sen, K. (2018). DeepBugs: A learning approach to name-based bug detection. Proceedings of the ACM on Programming Languages. https://doi.org/10.1145/3276517
Qadir, M. M., & Usman, M. (2011). Software engineering curriculum: A systematic mapping study. In 2011 Malaysian Conference in Software Engineering (pp. 269-274). IEEE.
Rehman, A. U., Aguiar, R. L., & Barraca, J. P. (2022). Fault-tolerance in the scope of cloud computing. IEEE Access, 10, 63422-63441.
Simon, Mason, R., Crick, T., Davenport, J. H., & Murphy, E. (2018). Language choice in introductory programming courses at Australasian and UK universities. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (pp. 852-857). ACM.
Slatten, V., Herrmann, P., & Kraemer, F. A. (2013). Model-driven engineering of reliable fault-tolerant systems—A state-of-the-art survey. Advances in Computers, 91, 119-205.
Spichkova, M., Thomas, I. E., Schmidt, H. W., Yusuf, I. I., Drumm, D. W., Androulakis, S., ... & Russo, S. P. (2015). Scalable and fault-tolerant cloud computations: Modelling and implementation. In 2015 IEEE 21st International Conference on Parallel and Distributed Systems (ICPADS) (pp. 396-404). IEEE.
Tenhunen, S., Mannistö, T., Luukkainen, M., & Ihantola, P. (2023). A systematic literature review of capstone courses in software engineering. Information and Software Technology, 107191.
Xu, B. et al. (2025). Cross-project aging-related bug prediction based on transfer learning and class imbalance learning. IEEE Transactions on Dependable and Secure Computing. https://doi.org/10.1109/TDSC.2025.3567957
