Abstract
To ensure software quality, software defect prediction plays a prominent role for the software developers and practitioners. Software defect prediction can assist us with distinguishing software defect modules and enhance the software quality. In present days, many supervised machine learning algorithms have proved their efficacy to identify defective modules. However, those are limited to prove their major significance due to the limitations such as the adaptation of parameters with the environment and complexity. So, it is important to develop a key methodology to improve the efficiency of the prediction module. In this paper, an ensemble learning technique called Bootstrap aggregating has been proposed for software defect prediction object-oriented modules. The proposed method's accuracy, recall, precision, F-measure, and AUC-ROC efficiency were compared to those of many qualified machine learning algorithms. Simulation results and performance comparison are evident that the proposed method outperformed well compared to other approaches.
Similar content being viewed by others
References
Li J, He P, Zhu J, Lyu MR (2017) Software defect prediction via convolutional neural network. In: 2017 International Conference on Software Quality, Reliability and Security (QRS), pp 318–328. https://doi.org/10.1109/QRS.2017.42
Suresh Kumar P, Behera HS, Kumari A, Nayak J, Naik B (2020) Advancement from neural networks to deep learning in software effort estimation: perspective of two decades. Comput Sci Rev 38:100288. https://doi.org/10.1016/j.cosrev.2020.100288
Catal C (2011) Software fault prediction: a literature review and current trends. Expert Syst Appl 38(4):4626–4636. https://doi.org/10.1016/j.eswa.2010.10.024
Erturk E, Sezer EA (2015) A comparison of some soft computing methods for software fault prediction. Expert Syst Appl 42(4):1872–1879. https://doi.org/10.1016/j.eswa.2014.10.025
Malhotra R (2015) A systematic review of machine learning techniques for software fault prediction. Appl Soft Comput 27:504–518. https://doi.org/10.1016/j.asoc.2014.11.023
Arar ÖF, Ayan K (2015) Software defect prediction using cost-sensitive neural network. Appl Soft Comput 33:263–277. https://doi.org/10.1016/j.asoc.2015.04.045
Okutan A, Yıldız OT (2014) Software defect prediction using Bayesian networks. Empir Softw Eng 19(1):154–181. https://doi.org/10.1007/s10664-012-9218-8
Arasteh B (2018) Software fault-prediction using combination of neural network and Naive Bayes algorithm. J Netw Technol 9(3):94. https://doi.org/10.6025/jnt/2018/9/3/94-101
Alsaeedi A, Khan MZ (2019) Software defect prediction using supervised machine learning and ensemble techniques: a comparative study. J Softw Eng Appl 12(05):85–100. https://doi.org/10.4236/jsea.2019.125007
Skurichina M, Duin RPW (1998) Bagging for linear classifiers. Pattern Recognit 31(7):909–930. https://doi.org/10.1016/S0031-3203(97)00110-6
Wei H, Hu C, Chen S, Xue Y, Zhang Q (2019) Establishing a software defect prediction model via effective dimension reduction. Inf Sci (Ny) 477:399–409. https://doi.org/10.1016/j.ins.2018.10.056
Turabieh H, Mafarja M, Li X (2019) Iterated feature selection algorithms with layered recurrent neural network for software fault prediction. Expert Syst Appl 122:27–42. https://doi.org/10.1016/j.eswa.2018.12.033
Miholca D-L, Czibula G, Czibula IG (2018) A novel approach for software defect prediction through hybridizing gradual relational association rules with artificial neural networks. Inf Sci (Ny) 441:152–170. https://doi.org/10.1016/j.ins.2018.02.027
Manjula C, Florence L (2019) Deep neural network based hybrid approach for software defect prediction using software metrics. Cluster Comput 22(S4):9847–9863. https://doi.org/10.1007/s10586-018-1696-z
Jayanthi R, Florence L (2019) Software defect prediction techniques using metrics based on neural network classifier. Cluster Comput 22(S1):77–88. https://doi.org/10.1007/s10586-018-1730-1
Geng W (2018) Cognitive deep neural networks prediction method for software fault tendency module based on bound particle swarm optimization. Cogn Syst Res 52:12–20. https://doi.org/10.1016/j.cogsys.2018.06.001
Arora I, Saha A (2018) Software defect prediction: a comparison between artificial neural network and support vector machine. Adv Intell Syst Comput 562:51–61. https://doi.org/10.1007/978-981-10-4603-2_6
Feng S et al (2021) COSTE: complexity-based oversampling technique to alleviate the class imbalance problem in software defect prediction. Inf Softw Technol 129:106432. https://doi.org/10.1016/j.infsof.2020.106432
Prabha CL, Shivakumar N (2020) Software defect prediction using machine learning techniques. In: Proc. 4th Int. Conf. Trends Electron. Informatics, ICOEI 2020, no. Icoei, pp 728–733. https://doi.org/10.1109/ICOEI48184.2020.9142909.
Breiman L (1996) Bagging predictors. Mach Learn 24(2):123–140. https://doi.org/10.1007/BF00058655
Lemmens A, Croux C (2006) Bagging and boosting classification trees to predict churn. J Mark Res 43(2):276–286. https://doi.org/10.1509/jmkr.43.2.276
Kaur A, Kaur K (2014) Performance analysis of ensemble learning for predicting defects in open source software. In: 2014 International Conference on Advances in Computing, Communications and Informatics (ICACCI), pp 219–225. https://doi.org/10.1109/ICACCI.2014.6968438.
Wahono RS, Suryana N (2013) Combining particle swarm optimization based feature selection and bagging technique for software defect prediction. Int J Softw Eng Its Appl 7(5):153–166. https://doi.org/10.14257/ijseia.2013.7.5.16
Felix EA, Lee SP (2020) Predicting the number of defects in a new software version. PLoS One 15(3):1–30. https://doi.org/10.1371/journal.pone.0229131
Tantithamthavorn C, McIntosh S, Hassan AE, Matsumoto K (2019) The impact of automated parameter optimization on defect prediction models. IEEE Trans Softw Eng 45(7):683–711. https://doi.org/10.1109/TSE.2018.2794977
Boetticher G, Menzies T, Ostrand T (2007) PROMISE Repository of empirical software engineering data. http://promisedata.org/repository
Afzal W, Torkar R (2016) Towards benchmarking feature subset selection methods for software fault prediction. In: Pedrycz W, Succi G, Sillitti A (eds) Studies in computational intelligence, vol 617. Springer International Publishing, Cham, pp 33–58
Panichella A, Oliveto R, De Lucia A (2014) Cross-project defect prediction models: L’Union fait la force. In: 2014 Software Evolution Week—IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE), Feb 2014, pp 164–173. https://doi.org/10.1109/CSMR-WCRE.2014.6747166.
Zhang F, Zheng Q, Zou Y, Hassan AE (2016) Cross-project defect prediction using a connectivity-based unsupervised classifier. In: Proceedings of the 38th International Conference on Software Engineering—ICSE ’16, vol 14–22 May, pp 309–320. https://doi.org/10.1145/2884781.2884839.
Kaur A, Kaur K (2015) An empirical study of robustness and stability of machine learning classifiers in software defect prediction, vol. 320. In: El-Alfy E-SM, Thampi SM, Takagi H, Piramuthu S, Hanne T (eds) Advances in intelligent informatics. Springer, Cham, pp 383–397
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that this manuscript has no conflict of interest with any other published source and has not been published previously (partly or in full). No data have been fabricated or manipulated to support our conclusions.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Suresh Kumar, P., Behera, H.S., Nayak, J. et al. Bootstrap aggregation ensemble learning-based reliable approach for software defect prediction by using characterized code feature. Innovations Syst Softw Eng 17, 355–379 (2021). https://doi.org/10.1007/s11334-021-00399-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11334-021-00399-2