Improvement in Software Defect Prediction Outcome Using Principal Component Analysis and Ensemble Machine Learning Algorithms

  • N. DhamayanthiEmail author
  • B. Lavanya
Conference paper
Part of the Lecture Notes on Data Engineering and Communications Technologies book series (LNDECT, volume 26)


Improving customer experience is the focus of IT Industry. It is no longer about customer satisfaction, but it is about creating memorable experiences which will help build loyal customers. Hence it is extremely critical to release defect free software. While machine learning techniques were widely used for prediction modelling, creating a reliable predictor which can perform satisfactorily is always a challenge. In this paper, we have proposed a framework using PCA for feature selection and ensemble machine learning algorithms with stratified 10-fold cross validation for building the classification model. The proposed model is tested using 5 projects from NASA Metrics Data program and 4 ensemble machine learning algorithms. Our results show that the prediction accuracy is improved by 0.6% when the reduced dataset is used for classification than using the whole dataset. In comparison with previous research studies, our framework has shown an average of 4.2% increase in performance.


Software defect prediction Feature selection Classification Fault proneness Ensemble machine learning algorithms Data mining Fault prediction Dimensionality reduction Machine learning techniques Meta learning NASA Metrics Data Program Principal component analysis Random forest Adaboost Bagging Classification via regression Stratified 10 fold cross validation Software quality Reliable software Prediction modelling 


  1. 1.
    Lessmann, S., Baesens, B., Mues, C., Pietsch, S.: Benchmarking classification models for software defect prediction: a proposed framework and novel findings. IEEE Trans. Softw. Eng. 34(4), 485–496 (2008)CrossRefGoogle Scholar
  2. 2.
    Wang, S., Ping, H.E., Zelin, L.: An enhanced software defect prediction model with multiple metrics and learners. Int. J. Ind. Syst. Eng. 22(3), 358–371 (2016)Google Scholar
  3. 3.
    Murillo-Morera, J., Castro-Herrera, C., Arroyo, J., Fucntcs-Fernandez, R.: An automated defect prediction framework using genetic algorithms: a validation of empirical studies. Inteligencia Artif. 19(57), 114–137 (2016)CrossRefGoogle Scholar
  4. 4.
    Kalai Magal, R., Jacob, S.G.: Improved random forest algorithm for software defect prediction through data mining techniques. Int. J. Comput. Appl. (0975-8887), 117(23), May 2015Google Scholar
  5. 5.
    Kaur, A., Malhotra, R.: Application of random forest in predicting fault-prone classes. In: International Conference on Advanced Computer Theory and Engineering (2008)Google Scholar
  6. 6.
    Kumaresh, S., Baskaran, R, Sivaguru, M.: Software defect classification using bayesian classification techniques. In: IJCA Proceedings on International Conference on Communication, Computing and Information Technology ICCCMIT 2014, 16–20 March 2015Google Scholar
  7. 7.
    Sastry, K.B.S., Satya Prasad, R.: Software defect prediction using classifier mining. J. Comput. Sci. Eng. 1(4) (2015)Google Scholar
  8. 8.
    Mende, T., Koschke, R.: Effort-aware defect prediction models. In: 14th European Conference on Software Maintenance and Reengineering (2010)Google Scholar
  9. 9.
    Singh, P., Verma, S.: An efficient software fault prediction model using cluster based classification. Int. J. Appl. Inf. Syst. (IJAIS), 7(3), May 2014Google Scholar
  10. 10.
    Zhang, H., Nelson, A., Menzies, T.: On the value of learning from defect dense components for software defect prediction. Promise 2010, 12–13 September (2010Google Scholar
  11. 11.
    Song, Q., Jia, Z., Shepperd, M., Ying, S., Liu, J.: A General Software Defect-Proneness Prediction Framework. IEEE Trans. Softw. Eng. 37(3), 356–370 (2011)CrossRefGoogle Scholar
  12. 12.
    Sofware Fail watch, 5th Edn., Tricentis.
  13. 13.
    Koru, A.G., Liu, H.: An investigation of the effect of module size on defect prediction using static measures. In: Promise 2005, May 2005Google Scholar
  14. 14.
    Jin, C., Dong, E.M., Qin, L.N.: Software fault prediction model based on adaptive dynamical and median particle swarm optimization. In: Second International Conference on Multimedia and Information Technology (2010)Google Scholar
  15. 15.
    Witten, I.H., Frank, E.: Data Mining, Practical Machine Learning Tools and Techniques. Morgan Kaufmann, San Francisco (2005)zbMATHGoogle Scholar
  16. 16.
    Shirabad, J.S., Menzies, T.J.: The PROMISE repository of software engineering databases. School of Information Technology and Engineering, University of Ottawa, Canada (2005).

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of MadrasChennaiIndia

Personalised recommendations