Comparison of Machine Learning Models for Effective Software Fault Detection
Keywords:
Machine learning, Software Defect Prediction, Debugging, PROMISE datasetAbstract
Software defect prediction is a field in software engineering that aims to identify and anticipate defects or bugs in software systems before they occur. The goal is to develop techniques and models that can help software development teams prioritize their testing efforts and allocate resources more effectively. For this purpose, various Machine learning techniques used and these algorithms can utilize various features, such as code metrics, historical defect data, and developer information, to build predictive models. This paper aims to develop a model for software defect prediction using various ML algorithms. Experiments were conducted using the proposed model on KC2 dataset from the NASA PROMISE repository. The Decision tree algorithm achieved 73.28%, Naïve Bayes 83.97%, KNN 80.15%, Support vector Machine 82.44% and Random Forest 80.92% for KC2 dataset. The results demonstrated that the different model succeeded in effectively predicting the defects in PROMISE datasets KC2.
Downloads
References
Kamei, Y., Sato, H., Monden, A., Kawaguchi, S., Uwano, H., Nagura, M., ... & Ubayashi, N. (2011, November). An empirical study of fault prediction with code clone metrics. In 2011 Joint Conference of the 21st International Workshop on Software Measurement and the 6th International Conference on Software Process and Product Measurement (pp. 55-61). IEEE.
Krishnan, S., Strasburg, C., Lutz, R. R., & Goševa-Popstojanova, K. (2011, September). Are change metrics good predictors for an evolving software product line?. In Proceedings of the 7th international conference on predictive models in software engineering (pp. 1-10).
Rahman, F., & Devanbu, P. (2013, May). How, and why, process metrics are better. In 2013 35th International Conference on Software Engineering (ICSE) (pp. 432-441). IEEE.
Ma, Y., Zhu, S., Qin, K., & Luo, G. (2014). Combining the requirement information for software defect estimation in design time. Information Processing Letters, 114(9), 469-474.
Xia, Y., Yan, G., Jiang, X., & Yang, Y. (2014, May). A new metrics selection method for software defect prediction. In 2014 IEEE International Conference on Progress in Informatics and Computing (pp. 433-436). IEEE.
Stuckman, J., Wills, K., & Purtilo, J. (2013, October). Evaluating software product metrics with synthetic defect data. In 2013 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (pp. 259-262). IEEE.
Zhang, H. (2009, September). An investigation of the relationships between lines of code and defects. In 2009 IEEE international conference on software maintenance (pp. 274-283). IEEE.
Dada, E. G., Oyewola, D. O., Joseph, S. B., & Duada, A. B. (2021). Ensemble machine learning model for software defect prediction. Adv. Mach. Learn. Artif. Intell, 2, 11-21.
Dejaeger, K., Dejaeger, K., Verbraken, T., & Baesens, B. (2012). Toward comprehensible software fault prediction models using bayesian network classifiers. IEEE Transactions on Software Engineering, 39(2), 237-257.
Singh, P., & Verma, S. (2015). S22-Cross Project Software Fault Prediction at Design Phase. International Journal of Computer, Electrical, Automation, Control and Information Engineering, 9(3), 800–8005.
Malhotra, R. (2015). A systematic review of machine learning techniques for software fault prediction. Applied Soft Computing Journal, 27, 504–518.
Phuong Ha, T. M., Hung Tran, D., Le, M. H., & Thanh Binh, N. (2019). Experimental study on software fault prediction using machine learning model. In Proceedings of 2019 11th International Conference on Knowledge and Systems Engineering, KSE 2019. Institute of Electrical and Electronics Engineers Inc.
Shanthini, A. (2012). Applying Machine Learning for Fault Prediction Using Software Metrics. International Journal of Advanced Research in Computer Science and Software Engineering, 2(6), 274–278.
Prabha, C. L., & Shivakumar, N. (2020). Software Defect Prediction Using Machine Learning Techniques. In Proceedings of the 4th International Conference on Trends in Electronics and Informatics, ICOEI 2020 (pp. 728–733).
Jing, X. Y., Wu, F., Dong, X., & Xu, B. (2017). An Improved SDA Based Defect Prediction Framework for Both Within-Project and Cross-Project Class-Imbalance Problems. IEEE Transactions on Software Engineering, 43(4), 321–339.
Jiang, Y., Cukic, B., & Ma, Y. (2008). Techniques for evaluating fault prediction models. EmpiricalSoftwareEngineering, 13(5), 561–595.
Catal, C., & Diri, B. (2009). Investigating the effect of dataset size, metrics sets, and feature selection techniques on software fault prediction problem. Information Sciences,179(8), 1040-1058.
P. Kumudha and R. Venkatesan, “Cost-Sensitive Radial Basis Function Neural Network Classifier for Software Defect Prediction,” vol. 2016, 2016.
Hammouri, A., Hammad, M., Alnabhan, M., & Alsarayrah, F. (2018). Software Bug Prediction using machine learning approach. International Journal of Advanced Computer Science and Applications, 9(2), 78–83.
Rathore, S.S., Kumar, S. A study on software fault prediction techniques. Artif Intell Rev 51, 255–327 (2019).
Malhotra, R., & Jain, A. (2012). Fault prediction using statistical and machine learning methods for improving software quality. Journal of Information Processing Systems, 8(2), 241-262.
Koru, A. G., & Liu, H. (2005, May). An investigation of the effect of module size on defect prediction using static measures. In Proceedings of the 2005 workshop on Predictor models in software engineering (pp. 1-5).
Madeyski, L., & Jureczko, M. (2015). Which process metrics can significantly improve defect prediction models? An empirical study. Software Quality Journal, 23(3), 393-422.
He, P., Li, B., Liu, X., Chen, J., & Ma, Y. (2015). An empirical study on software defect prediction with a simplified metric set. Information and Software Technology, 59, 170-190.
Downloads
Published
How to Cite
Issue
Section
License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
All papers should be submitted electronically. All submitted manuscripts must be original work that is not under submission at another journal or under consideration for publication in another form, such as a monograph or chapter of a book. Authors of submitted papers are obligated not to submit their paper for publication elsewhere until an editorial decision is rendered on their submission. Further, authors of accepted papers are prohibited from publishing the results in other publications that appear before the paper is published in the Journal unless they receive approval for doing so from the Editor-In-Chief.
IJISAE open access articles are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. This license lets the audience to give appropriate credit, provide a link to the license, and indicate if changes were made and if they remix, transform, or build upon the material, they must distribute contributions under the same license as the original.