A Novel Approach Using Fuzzy Self-Organizing Maps for Detecting Software Faults

As software projects become more complex, there is an increased focus on their analysis and testing. Detecting software faults is a problem of major importance for improving the quality of the software development related processes and the efficiency of the software testing process. In order to detect faults in existing software systems, we introduce in this paper a novel approach, based on fuzzy self-organizing feature maps. A fuzzy map will be trained, using unsupervised learning, to provide a two-dimensional representation of the faulty and non-faulty entities from a software system and it will be able to identify if a software module is or not a defective one. Five open-source case studies are used for the experimental evaluation of our approach. The obtained results are better than most of the results already reported in the literature for the considered datasets and emphasize that a fuzzy self-organizing map is more efficient than a crisp one for the case studies used for evaluation.

[1]  ZSUZSANNA MARIAN,et al.  DEFECT DETECTION USING SELF-ORGANIZING MAPS , 2015 .

[2]  Ali Selamat,et al.  Fault prediction by utilizing self-organizing Map and Threshold , 2013, 2013 IEEE International Conference on Control System, Computing and Engineering.

[3]  Alok Mishra,et al.  Experience in Predicting Fault-Prone Software Modules Using Complexity Metrics , 2012 .

[4]  Jun Zheng,et al.  Predicting software reliability with neural network ensembles , 2009, Expert Syst. Appl..

[5]  Tim Menzies,et al.  Heterogeneous Defect Prediction , 2018, IEEE Trans. Software Eng..

[6]  Bruce Christianson,et al.  The misuse of the NASA metrics data program data sets for automated software defect prediction , 2011, EASE.

[7]  Euyseok Hong,et al.  Software Fault Prediction Model using Clustering Algorithms Determining the Number of Clusters Automatically , 2014 .

[8]  Gina Venolia,et al.  The secret life of bugs: Going past the errors and omissions in software repositories , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[9]  Tracy Hall,et al.  A Systematic Literature Review on Fault Prediction Performance in Software Engineering , 2012, IEEE Transactions on Software Engineering.

[10]  Simona Dinu,et al.  Multi-objective Assembly Line Balancing Using Fuzzy Inertia-adaptive Particle Swarm Algorithm , 2015 .

[11]  Ruchika Malhotra,et al.  Comparative analysis of statistical and machine learning methods for predicting faulty modules , 2014, Appl. Soft Comput..

[12]  Frank Klawonn,et al.  What Is Fuzzy about Fuzzy Clustering? Understanding and Improving the Concept of the Fuzzifier , 2003, IDA.

[13]  Rongxin Wu,et al.  Dealing with noise in defect prediction , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[14]  Du Zhang,et al.  Advances in Machine Learning Applications in Software Engineering , 2007 .

[15]  Horia-Nicolai Teodorescu Coordinate Fuzzy Transforms and Fuzzy Tent Maps – Properties and Applications , 2015 .