Comparison of Machine Learning Models for Effective Software Fault Detection

Authors

  • Shikha Gautam, Ajay Khunteta, Debolina Ghosh

Keywords:

Machine learning, Software Defect Prediction, Debugging, PROMISE dataset

Abstract

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

Download data is not yet available.

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

26.03.2024

How to Cite

Shikha Gautam, Ajay Khunteta, Debolina Ghosh. (2024). Comparison of Machine Learning Models for Effective Software Fault Detection. International Journal of Intelligent Systems and Applications in Engineering, 12(21s), 834–840. Retrieved from https://ijisae.org/index.php/IJISAE/article/view/5480

Issue

Section

Research Article