An FIS for Early Detection of Defect Prone Modules

Early prediction of defect prone modules helps in better resource planning, test planning and reducing the cost of defect correction in later stages of software lifecycle. Early prediction models based on design and code metrics are difficult to develop because precise values of the model inputs are not available. Conventional prediction techniques require exact inputs, therefore such models cannot always be used for early predictions. Innovative prediction methods that use imprecise inputs, however, can be applied to overcome the requirement of exact inputs. This paper presents a fuzzy inference system (FIS) that predicts defect proneness in software using vague inputs defined as fuzzy linguistic variables. The paper outlines the methodology for developing the FIS and applies the model to a real dataset. Performance analysis in terms of recall, accuracy, misclassification rate and a few other measures has been conducted resulting in useful insight to the FIS application. The FIS model predictions at an early stage have been compared with conventional prediction methods (i.e. classification trees, linear regression and neural networks) based on exact values. In case of the FIS model, the maximum and the minimum performance shortfalls were noticed for true negative rate (TNRate) and F measure respectively. Whereas for Recall, the FIS model performed better than the other models even with the imprecise inputs.

[1]  Burak Turhan,et al.  Implications of ceiling effects in defect predictors , 2008, PROMISE '08.

[2]  Thomas J. Ostrand,et al.  \{PROMISE\} Repository of empirical software engineering data , 2007 .

[3]  Martin Höst,et al.  Sensitivity of Website Reliability to Usage Profile Changes , 2007, The 18th IEEE International Symposium on Software Reliability (ISSRE '07).

[4]  Yue Jiang,et al.  Comparing design and code metrics for software quality prediction , 2008, PROMISE '08.

[5]  Stan Matwin,et al.  Machine Learning for the Detection of Oil Spills in Satellite Radar Images , 1998, Machine Learning.

[6]  Taghi M. Khoshgoftaar,et al.  Early Quality Prediction: A Case Study in Telecommunications , 1996, IEEE Softw..

[7]  Thomas G. Dietterich What is machine learning? , 2020, Archives of Disease in Childhood.

[8]  Tim Menzies,et al.  Learning early lifecycle IV & V quality indicators , 2003, Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717).

[9]  Bart Kosko,et al.  Fuzzy Engineering , 1996 .

[10]  James C. Bezdek,et al.  Pattern Recognition with Fuzzy Objective Function Algorithms , 1981, Advanced Applications in Pattern Recognition.

[11]  Alexander Dekhtyar,et al.  Information Retrieval , 2018, Lecture Notes in Computer Science.

[12]  Hong-Zhong Huang,et al.  Early Software Quality Prediction Based on a Fuzzy Neural Network Model , 2007, Third International Conference on Natural Computation (ICNC 2007).

[13]  Taghi M. Khoshgoftaar,et al.  Predicting Software Development Errors Using Software Complexity Metrics , 1990, IEEE J. Sel. Areas Commun..

[14]  Christopher M. Bishop,et al.  Pattern Recognition and Machine Learning (Information Science and Statistics) , 2006 .

[15]  Taghi M. Khoshgoftaar,et al.  An application of fuzzy clustering to software quality prediction , 2000, Proceedings 3rd IEEE Symposium on Application-Specific Systems and Software Engineering Technology.

[16]  James P. Egan,et al.  Signal detection theory and ROC analysis , 1975 .

[17]  Norman E. Fenton,et al.  A Critique of Software Defect Prediction Models , 1999, IEEE Trans. Software Eng..

[18]  S. Hyakin,et al.  Neural Networks: A Comprehensive Foundation , 1994 .

[19]  Yue Jiang,et al.  Fault Prediction using Early Lifecycle Data , 2007, The 18th IEEE International Symposium on Software Reliability (ISSRE '07).

[20]  Tong-Seng Quah,et al.  Application of neural network for predicting software development faults using object-oriented design metrics , 2002, Proceedings of the 9th International Conference on Neural Information Processing, 2002. ICONIP '02..

[21]  Bo Yu,et al.  Extract rules from software quality prediction model based on neural network , 2004, 16th IEEE International Conference on Tools with Artificial Intelligence.

[22]  Michael R. Lyu,et al.  A novel method for early software quality prediction based on support vector machine , 2005, 16th IEEE International Symposium on Software Reliability Engineering (ISSRE'05).

[23]  Tong-Seng Quah,et al.  Application of neural networks for software quality prediction using object-oriented metrics , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..