Skip to main content
Log in

A clustering approach for software defect prediction using hybrid social mimic optimization algorithm

  • Regular Paper
  • Published:
Computing Aims and scope Submit manuscript

Abstract

In this information era, software usage is intertwined with daily routine work and business. Defects in software can cause a severe economic crisis. It is a crucial task in the software industry to be able to predict software defects in advance. Software Defect Prediction (SDP) aims to identify the potential defects based on the software metrics. A software module is a software component(piece of program) that contains one or more procedure. In this study, we propose a clustering approach for grouping the software modules. This work proposes a hybrid elitist self-adaptive multi-population social mimic optimization technique (ESAMP-SMO) for clustering the software defect modules. The objective function (fitness function) of the proposed study minimizes the intra cluster distance and maximizes fault prediction rate. In this study, we used the three popular benchmark NASA datasets (CM1, JM1 and KC1) for the experimental work. The performance comparison analysis shows that the proposed clustering technique outperforms the other competitor approaches.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. http://promise.site.uottawa.ca/SERepository/datasets-page.html

References

  1. Rawat M, Dubey S (2012) Software defect prediction models for quality improvement: A literature study. Interl J Comput Sci Issues 9:288–296

    Google Scholar 

  2. Manjula C, Florence L (2018) Hybrid approach for software defect prediction using machine learning with optimization technique. Inter J Comput Inf Eng 12(1):28–32

    Google Scholar 

  3. Wan Z, Xia X, Hassan AE, Lo D, Yin J, Yang X (2020) Perceptions, expectations, and challenges in defect prediction. IEEE Trans Software Eng 46(11):1241–1266

    Article  Google Scholar 

  4. Han J, Kamber M, Pei J (2012) Data mining concepts and techniques, 3rd edn. Morgan Kaufmann Publishers, Burlington, Massachusetts

    MATH  Google Scholar 

  5. Chug A, Dhall S (2013) Software defect prediction using supervised learning algorithm and unsupervised learning algorithm. In: Confluence 2013: The Next Generation Information Technology Summit (4th International Conference), pp. 173–179

  6. Rahim A, Hayat Z, Abbas M, Rahim A, Rahim MA (2021) Software defect prediction with naïve bayes classifier. In: 2021 International Bhurban Conference on Applied Sciences and Technologies (IBCAST), pp. 293–297

  7. Pandey S, Mishra R, Tripathi A (2018) Software bug prediction prototype using bayesian network classifier: A comprehensive model. Procedia Comput Sci 132:1412–1421

    Article  Google Scholar 

  8. Aljamaan H, Alazba A (2020) Software defect prediction using tree-based ensembles. PROMISE 2020, (New York, NY, USA), p. 1–10, Association for Computing Machinery

  9. Rathore S, Kumar S (2017) A decision tree logic based recommendation system to select software fault prediction techniques. Comput 99:255–285

    Article  MathSciNet  Google Scholar 

  10. Hammad M, Alqaddoumi A, Alobaidy H, Almseidein K (2019) Predicting software faults based on k-nearest neighbors classification. Intern J Comput Digital Syst 8:461–467

    Article  Google Scholar 

  11. Thangavel M, Nasira G (2014) Support vector machine for software defect prediction. Int J Appl Eng Res 9:25633–25644

    Google Scholar 

  12. Rong X, Li F, Cui Z (2016) A model for software defect prediction using support vector machine based on cba. Int J Intell Syst Technol Appl 15:19

    Google Scholar 

  13. Bishnu P, Bhattacharjee V (2012) Software fault prediction using quad tree-based k-means clustering algorithm. Knowl Data Eng, IEEE Trans on 24:1146–1150

    Article  Google Scholar 

  14. Park M, Hong E (2014) Software fault prediction model using clustering algorithms determining the number of clusters automatically. Inter J Software Eng Appl 8:199–204

    Google Scholar 

  15. Annisa R, Rosiyadi D, Riana D (2020) Improved point center algorithm for k-means clustering to increase software defect prediction. Inter J Adv Intell Inform 6:328

    Article  Google Scholar 

  16. Almayyan W (2021) Towards predicting software defects with clustering techniques. Inter J Artif Intell Appl 12:114595

    Google Scholar 

  17. Henein MMR, Shawky D, Abd-El-Hafiz S (2018) Clustering-based under-sampling for software defect prediction. In: ICSOFT

  18. Islam R, Sakib K (2017) A package-based clustering approach to enhance the accuracy and performance of software defect prediction. Inter J Softw Eng, Technol Appl 2:1–21

    Google Scholar 

  19. Singh S, Singla R (2016) Comparative performance of fault-prone prediction classes with k-means clustering and mlp. In: Proceedings of the Second International Conference on Information and Communication Technology for Competitive Strategies, ICTCS ’16, (New York, NY, USA), Association for Computing Machinery

  20. Abaei G, Selamat A (2015) Increasing the accuracy of software fault prediction using majority ranking fuzzy clustering. Stud Comput Intell 569:179–193

    Article  Google Scholar 

  21. Pandey SK, Mishra RB, Tripathi AK (2021) Machine learning based methods for software fault prediction: A survey. Expert Syst Appl 172:114595

    Article  Google Scholar 

  22. Alsaeedi A, Khan M (2019) Software defect prediction using supervised machine learning and ensemble techniques: A comparative study. J Softw Eng Appl 12:85–100

    Article  Google Scholar 

  23. Pandey S, Mishra R, Tripathi A (2019) Bpdet: An effective software bug prediction model using deep representation and ensemble learning techniques. Expert Syst Appl 144:113085

    Article  Google Scholar 

  24. Assim M, Obeidat Q, Hammad M (2020) Software defects prediction using machine learning algorithms. In: 2020 International Conference on Data Analytics for Business and Industry: Way Towards a Sustainable Economy (ICDABI), pp. 1–6

  25. Nur S, Wei K, Kew S (2020) Machine learning techniques for software bug prediction: A systematic review. J Comput Sci 16:1558–1569

    Article  Google Scholar 

  26. Qiao L, Li X, Umer Q, Guo P (2020) Deep learning based software defect prediction. Neurocomputing 385:100–110

    Article  Google Scholar 

  27. Alqasem O, Akour M (2019) Software fault prediction using deep learning algorithms. Inter J Open Source Softw Process 10:1–19

    Article  Google Scholar 

  28. Li J, He P, Zhu J, Lyu MR (2017) Software defect prediction via convolutional neural network. In: 2017 IEEE International Conference on Software Quality, Reliability and Security (QRS), pp. 318–328

  29. Qasem OA, Akour M, Alenezi M (2020) The influence of deep learning algorithms factors in software fault prediction. IEEE Access 8:63945–63960

    Article  Google Scholar 

  30. Ayon SI (2019) Neural network based software defect prediction using genetic algorithm and particle swarm optimization. In: 2019 1st International Conference on Advances in Science, Engineering and Robotics Technology (ICASERT), pp. 1–4

  31. Zhao G, Huang J (2018) Deepsim: Deep learning code functional similarity. In: Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2018, (New York, NY, USA), p. 141–151, Association for Computing Machinery

  32. Zheng W, Mo S, Jin X, Qu Y, Xie Z, Shuai J (2019) Software defect prediction model based on improved deep forest and autoencoder by forest, pp. 419–424

  33. Akimova E, Bersenev A, Deikov A, Kobylkin K, Konygin A, Mezentsev I, Misilov V (2021) A survey on software defect prediction using deep learning. Math 9:1180

    Article  Google Scholar 

  34. Thirumoorthy K, Muneeswaran K (2020) Optimal feature subset selection using hybrid binary jaya optimization algorithm for text classification. Sādhanā 45(1):1–13

    Article  Google Scholar 

  35. Gunavathi C, Premalatha K (2014) Performance analysis of genetic algorithm with knn and svm for feature selection in tumor classification. Inter J Comput Inf Eng 8(8):1490–1497

    Google Scholar 

  36. Abualigah L, Khader AT, Hanandeh E (2018) A new feature selection method to improve the document clustering using particle swarm optimization algorithm. J Comput Sci 25:456–466

    Article  Google Scholar 

  37. Najeeb R, Dhannoon BN (2018) A feature selection approach using binary firefly algorithm for network intrusion detection system. ARPN J Eng Applied Sci 13:2347–2352

    Google Scholar 

  38. Malhotra R, Shakya A, Ranjan R, Banshi R (2021) Software defect prediction using binary particle swarm optimization with binary cross entropy as the fitness function. J Phys: Conf Ser 1767:1–10

    Google Scholar 

  39. Khuat T, Hanh LM (2019) Binary teaching-learning based optimization algorithm with a new update mechanism for sample subset optimization in software defect prediction. Soft Computing, 23:9919–9935

  40. Khurma RA, Alsawalqah H, Aljarah I, Elaziz MA, Damaševičius R (2021) An enhanced evolutionary software defect prediction method using island moth flame optimization. Math 9(15):1–20

    Google Scholar 

  41. Malhotra R, Nishant N, Gurha S, Rathi V (2021) Application of particle swarm optimization for software defect prediction using object oriented metrics. In: 2021 11th International Conference on Cloud Computing, Data Science Engineering (Confluence), pp. 88–93

  42. Panda M, Azar A (12 2020) Hybrid multi-objective Grey Wolf search optimizer and machine learning approach for software bug prediction: Hybrid multi-objective Grey Wolf search optimizer for software bug prediction pp. 1–24

  43. Anbu M, Anandha Mala GS (2019) Feature selection using firefly algorithm in software defect prediction. Clust Comput 22:10925–10934

    Article  Google Scholar 

  44. Kumar K, Gyani J, Narsimha G (2018) Software defect prediction using ant colony optimization. Int J Appl Eng Res 13:14291–14297

    Google Scholar 

  45. Balochian S, Baloochian H (2019) Social mimic optimization algorithm and engineering applications. Expert Syst Appl 134:178–191

    Article  Google Scholar 

  46. Akour M, Melhem W (01 2020) Software Defect Prediction Using Genetic Programming and Neural Networks, pp. 1577–1597

  47. Cai X, Niu Y, Geng S, Cui Z, Li J, Chen J (2019) An under-sampled software defect prediction method based on hybrid multi-objective cuckoo search. Concurr Comput: Pract Exp 32:10

    Google Scholar 

  48. Hussien A, Amin M, Wang M, Liang G, Alsanad A, Gumaei A, Chen H (2020) Crow search algorithm: Theory, recent advances, and applications. IEEE Access 8:173548–173565

    Article  Google Scholar 

  49. Venkata Rao R, Saroj A (2017) A self-adaptive multi-population based jaya algorithm for engineering optimization. Swarm Evol Comput 37:1–26

    Article  Google Scholar 

  50. Owen S, Anil R, Dunning T, Friedman E (2011) Mahout in action. Manning Publications Co., Shelter Island, New York

    Google Scholar 

  51. Thirumoorthy K, Muneeswaran K (2021) A hybrid approach for text document clustering using jaya optimization algorithm. Expert Syst Appl 178:115040

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to K Thirumoorthy.

Ethics declarations

Conflict of Interest Statement

None.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Thirumoorthy, K., Britto, J.J.J. A clustering approach for software defect prediction using hybrid social mimic optimization algorithm. Computing 104, 2605–2633 (2022). https://doi.org/10.1007/s00607-022-01100-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-022-01100-6

Keywords

Mathematics Subject Classification

Navigation