The International Arab Journal of Information Technology (IAJIT)


Multi-Classifier Model for Software Fault Prediction

Prediction of fault prone module prior to testing is an emerging activity for software organizations to allocate targeted resource for development of reliable software. These software fault prediction depend on the quality of fault and related code extracted from previous versions of software. This paper, presents a novel framework by combining multiple expert machine learning systems. The proposed multi-classifier model takes the benefits of best classifiers in deciding the faulty modules of software system with consensus prior to testing. An experimental comparison is performed with various outperformer classifiers in the area of fault prediction. We evaluate our approach on 16 public dataset from promise repository which consists of National Aeronautics and Space Administration( NASA) Metric Data Program (MDP) projects and Turkish software projects. The experimental result shows that our multi classifier approach which is the combination of Support Vector Machine (SVM), Naive Bayes (NB) and Random forest machine significantly improves the performance of software fault prediction.

[1] Arisholma E., Briand L., and Johannessen E., A Systematic and Comprehensive Investigation of Methods to Build and Evaluate Fault Prediction Models, Journal of Systems and Software, vol. 83, no. 1, pp. 2-17, 2010.

[2] Catal C. and Diri B., Investigating the Effect of Dataset Size, Metrics Sets, and Feature Selection Techniques on Software Fault Prediction 918 The International Arab Journal of Information Technology, Vol. 15, No. 5, September 2018 Problem, Information Sciences, vol. 179, no. 8, pp. 1040-1058, 2009.

[3] Elish K. and Elish M., Predicting Defect-Prone Software Modules Using Support Vector Machines, Journal of Systems and Software, vol. 81, no. 5, pp. 649-660, 2008.

[4] Hall T., Beecham S., Bowes D., Gray D., and Counsell S., A Systematic Literature Review on Fault Prediction Performance in Software Engineering, IEEE Transactions on Software Engineering, vol. 38, no. 6, pp. 1276-1304, 2012.

[5] Jiang Y., Cukic B., Menzies T., and Bartlow N., Comparing Design and Code Metrics for Software Quality Prediction, in Proceedings of the 4th international Workshop on Predictor Models in Software Engineering, Leipzig, pp. 11- 18, 2008.

[6] Kimura F. and Shridhar M., Handwritten Numerical Recognition Based on Multiple Algorithms, Pattern Recognition, vol. 24, no. 10, pp. 969-983, 1991.

[7] Kittler J., Matas J., Jonsson K., and S nchez M., Combining Evidence in Personal Identity Verification Systems, Pattern Recognition Letters, vol. 18, no. 9, pp. 845-852, 1997.

[8] Kittler J., Hatef M., Duin R., and Matas J., On Combining Classifiers, IEEE Transactions Pattern Analysis and Machine Intelligence, vol. 20, no. 3, pp. 226-239, 1998.

[9] Lessmann S., Baesens B., Mues C., and Pietsch S., Benchmarking Classification Models for Software Defect Prediction: A Proposed Framework and Novel Findings, IEEE Transactions on Software Engineering, vol. 34, no. 4, pp. 485-496, 2008.

[10] Marchetto A. and Trentini A., A Framework to Build Guality Models for Web Applications, The International Arab Journal of Information Technology, vol. 4, no. 2, pp. 168-176, 2007.

[11] Menzies T., Greenwald J., and Frank A., Data Mining Static Code Attributes to Learn Defect Predictors, IEEE Transactions on Software Engineering, vol. 33, no. 1, pp. 2-13, 2007.

[12] Radjenovi D., Heri ko M., Torkar R., ans ivkovi A., Software Fault Prediction Metrics: A Systematic A Systematic Literature Review, Information and Software Technology, vol. 55, no. 8, pp. 1397-1418, 2013.

[13] Sayyad S. and Menzies T., The PROMISE Repository of Software Engineering Databases, School of Information Technology and Engineering., University of Ottawa,, Last Visited, 2005.

[14] Sebastiani F., Machine Learning in Automated Text Categorization, ACM Computing Surveys, vol. 34, no. 1, pp. 1-47, 2002.

[15] Shull F., Basili V., Boehm B., Brown A., Costa P., Lindvall M., Port D., Rus I., Tesoriero R., and Zelkowitz M., What We Have Learned About Fighting Defect, in Proceedings of 8th International Software Metrics Symposium, Ottawa, pp. 249-258, 2002.

[16] Singh P. and Verma S., Empirical Investigation of Fault Prediction capability of Object Oriented Metrics of Open Source Software, in Proceedings of 8th International Conference on Computer Science and Software Engineering, Bangkok, pp. 323-327, 2012.

[17] Singh P. and Verma S., An Investigation of the Effect of Discretization on Defect Prediction Using Static Measures, in Proceedings of International Conference on Advances in Computing, Control, and Telecommunication Technologies, Trivandrum, pp. 837-839, 2009.

[18] Singh P. and Verma S., Effectiveness Analysis of Consistency Based Feature Selection in Software Fault Prediction, International Journal of Advancements in Computer Science and Information Technology, vol. 2, no. 1, pp. 1- 9, 2012.

[19] Tumer K. and Ghosh J., Analysis of Decision Boundaries in Linearly Combined Neural Classifiers, Pattern Recognition, vol. 29, no. 2, pp. 341-348, 1996.

[20] Turhan B. and Bener A., Analysis of Naive Bayes Assumptions on Software Fault Data: An Empirical Study, Data Knowledge Engineering, vol. 68, no. 2, pp. 278-290, 2009.

[21] Vapnik V., The Nature of Statistical Learning Theory, Springer Science and Business Media, 2013. Multi-Classifier Model for Software Fault Prediction 919 Pradeep Singh is with the Department of Computer Science Engineering as Assistant Professor at National Institute of Technology, Raipur. He has completed his M.Tech. from Motilal Nehru National Institute of Technology (MNNIT) Allahabad, India with specialization in Software Engineering. He has completed his PhD in Computer Science and Engineering from National Institute of Technology Raipur His current research interests include empirical studies on software quality, software fault prediction models, and computational intelligence. He has more than ten years experience in various government academic institutes. He has published over 12 referred articles and served as reviewer of several journals including Knowledge Based System. He is a Member of IEEE, CSI and the ACM. Shrish Verma is Professor in the department of Electronics and Telecommunication, National Institute of Technology, Raipur. He has completed his Post graduation in Computer Engineering from Indian Institute of Technology, Kharagpur. He has completed his PhD in Engineering from Pt. Ravi Shankar Shukla University Raipur. His area of interest is Image processing, data mining, Software fault prediction models and Software bug classification. He has published over 20 referred articles and served as reviewer of several journals.