Volume 15, Issue 4 (3-2019)                   JSDP 2019, 15(4): 3-16 | Back to browse issues page


XML Persian Abstract Print


Download citation:
BibTeX | RIS | EndNote | Medlars | ProCite | Reference Manager | RefWorks
Send citation to:

Eftekhari M, Majidi momenabadi M, Khamar M. Proposing an evolutionary-fuzzy method for software defects detection. JSDP. 2019; 15 (4) :3-16
URL: http://jsdp.rcisp.ac.ir/article-1-656-en.html
Shahid Bahonar University of Kerman
Abstract:   (1680 Views)

Software defects detection is one of the most important challenges of software development and it is the most prohibitive process in software development. The early detection of fault-prone modules helps software project managers to allocate the limited cost, time, and effort of developers for testing the defect-prone modules more intensively.  In this paper, according to the importance of software defects detection, a method based on fuzzy sets and evolutionary algorithms is proposed. Due to the imbalanced nature of software defect detection datasets, benefits of fuzzy clustering algorithms were used to data sampling and more attention to the minority class. This method is a combined algorithm which, firstly has used fuzzy c-mean clustering as weighted bootstrap sampling. Weight of data (their membership’s degrees) increases for minority class. In the next step, the subtractive clustering algorithm is applied to produce the classifier which was trained by produced data in the previous step. The binary genetic algorithm was utilized to select appropriate features. The results and also comparisons with eight popular methods in software defect detection literature, show an acceptable performance of the proposed method. The experiments were performed on ten real-world datasets with a wide range of data sizes and imbalance rates. Also T-test is used as the statistical significance test for pair wise comparison of our proposed method against the others. The final results of T-test are shown in tables for three performance measures (G-mean, AUC and Balanced) over various datasets. (As the obtained results apparently show our proposed method has the ability to improve three aforementioned performance criteria simultaneously). Some methods just have improved the G-mean measure while the AUC and Balance criteria have lower values than the others. Securing a high level of three performance measures simultaneously illustrates the ability of our proposed algorithm for handling the imbalance problem of software defects detection datasets.

Full-Text [PDF 12648 kb]   (644 Downloads)    
Type of Study: Research | Subject: Paper
Received: 2017/09/15 | Accepted: 2019/01/9 | Published: 2019/03/8 | ePublished: 2019/03/8

References
1. 1] S. Wang and X. Yao, "Using class imbalance learn-ing for software defect prediction," IEEE Trans. Reliab., vol. 62, no. 2, pp. 434-443, 2013. [DOI:10.1109/TR.2013.2259203]
2. [2] B.-J. Park, S.-K. Oh, and W. Pedrycz, "The design of polynomial function-based neural network predictors for detection of software defects," Inf. Sci. (Ny)., vol. 229, pp. 40-57, 2013. [DOI:10.1016/j.ins.2011.01.026]
3. [3] P. C. Pendharkar, "Exhaustive and heuristic search approaches for learning a software defect predic-tion model," Eng. Appl. Artif. Intell., vol. 23, no. 1, pp. 34-40, 2010. [DOI:10.1016/j.engappai.2009.10.001]
4. [4] J. Zheng, "Cost-sensitive boosting neural networks for software defect prediction," Expert Syst. Appl., vol. 37, no. 6, pp. 4537-4543, 2010. [DOI:10.1016/j.eswa.2009.12.056]
5. [5] Mahdizadeh Mahboubeh, Eftekhari Mahdi. "A new fuzzy rules weighting approach based on Genetic Programming for imbalanced classifica-tion" . JSDP., no. 11 (2), pp.111-125, 2015
6. [6] Z. Yan, X. Chen, and P. Guo, "Software defect prediction using fuzzy support vector regression," Adv. Neural Networks-ISNN 2010, pp. 17-24, 2010. [DOI:10.1007/978-3-642-13318-3_3]
7. [7] A. K. Pandey and N. K. Goyal, "A fuzzy model for early software fault prediction using process matur-ity and software metrics," Int. J. Electron. Eng., vol. 1, no. 2, pp. 239-245, 2009.
8. [8] S. Di Martino, F. Ferrucci, C. Gravino, and F. Sarro, "A genetic algorithm to configure support vector machines for predicting fault-prone com-ponents," in International Conference on Product Focused Software Process Improvement, 2011, pp. 247-261. [DOI:10.1007/978-3-642-21843-9_20]
9. [9] P. S. Sandhu, S. Khullar, S. Singh, S. K. Bains, M. Kaur, and G. Singh, "A Study on Early Prediction of Fault Proneness in Software Modules using Genetic Algorithm," World Acad. Sci. Eng. Technol., vol. 72, 2010.
10. [10] M. M. Rosli, N. H. I. Teo, N. S. M. Yusop, and N. S. Mohammad, "The design of a software fault prone application using evolutionary algorithm," in Open Systems (ICOS), 2011 IEEE Conference on, 2011, pp. 338-343. [DOI:10.1109/ICOS.2011.6079246]
11. [11] M.-Y. Chen, "A hybrid ANFIS model for busi-ness failure prediction utilizing particle swarm optimization and subtractive clustering," Inf. Sci. (Ny)., vol. 220, pp. 180-195, 2013. [DOI:10.1016/j.ins.2011.09.013]
12. [12] M. E. R. Bezerra, A. L. I. Oliveira, and S. R. L. Meira, "A constructive rbf neural network for es-timating the probability of defects in software modules," in Neural Networks, 2007. IJCNN 2007. International Joint Conference on, 2007, pp. 2869-2874. [DOI:10.1109/IJCNN.2007.4371415]
13. [13] M. E. R. Bezerra, A. L. I. Oliveiray, and P. J. L. Adeodatoz, "Predicting software defects: A cost-sensitive approach," in Systems, Man, and Cybernetics (SMC), 2011 IEEE International Conference on, 2011, pp. 2515-2522. [DOI:10.1109/ICSMC.2011.6084055]
14. [14] H. A. Al-Jamimi and L. Ghouti, "Efficient prediction of software fault proneness modules using support vector machines and probabilistic neural networks," in Software Engineering (MySEC), 2011 5th Malaysian Conference in, 2011, pp. 251-256. [DOI:10.1109/MySEC.2011.6140679]
15. [15] N. R. Pal, K. Pal, J. M. Keller, and J. C. Bezdek, "A possibilistic fuzzy c-means clustering algor-ithm," IEEE Trans. fuzzy Syst., vol. 13, no. 4, pp. 517-530, 2005. [DOI:10.1109/TFUZZ.2004.840099]
16. [16] D. Gray, D. Bowes, N. Davey, Y. Sun, and B. Christianson, "Using the Support Vector Machine as a Classification Method for Software Defect Prediction with Static Code Metrics.," in EANN, 2009, vol. 2009, pp. 223-234. [DOI:10.1007/978-3-642-03969-0_21]
17. [17] K. O. Elish and M. O. Elish, "Predicting defect-prone software modules using support vector machines," J. Syst. Softw., vol. 81, no. 5, pp. 649-660, 2008. [DOI:10.1016/j.jss.2007.07.040]
18. [18] S. Wang, A. Mathew, Y. Chen, L. Xi, L. Ma, and J. Lee, "Empirical analysis of support vector machine ensemble classifiers," Expert Syst. Appl., vol. 36, no. 3, pp. 6466-6476, 2009. [DOI:10.1016/j.eswa.2008.07.041]
19. [19] I. Gondra, "Applying machine learning to soft-ware fault-proneness prediction," J. Syst. Softw., vol. 81, no. 2, pp. 186-195, 2008. [DOI:10.1016/j.jss.2007.05.035]
20. [20] S. R. Kannan, S. Ramathilagam, and P. C. Chung, "Effective fuzzy c-means clustering algorithms for data clustering problems," Expert Syst. Appl., vol. 39, no. 7, pp. 6292-6300, 2012. [DOI:10.1016/j.eswa.2011.11.063]
21. [21] O. T. Yıldız, O. Aslan, and E. Alpaydın, "Mul-tivariate statistical tests for comparing classifica-tion algorithms," Lect Notes Comp Sci, vol. 6683, pp. 1-15, 2011. [DOI:10.1007/978-3-642-25566-3_1]

Add your comments about this article : Your username or Email:
CAPTCHA

Send email to the article author


© 2015 All Rights Reserved | Signal and Data Processing