Comparing case-based reasoning classifiers for predicting high risk software components

Abstract Case-based reasoning (CBR) has been proposed for predicting the risk class of software components. Risky components can be defined as those that are fault-prone, or those that require a large amount of effort to maintain. Thus far evaluative studies of CBR classifiers have been promising, showing that their predictive performance is as good as or better than other types of classifiers. However, a CBR classifier can be instantiated in different ways by varying its parameters, and it is not clear which combination of parameters provides the best performance. In this paper we evaluate the performance of a CBR classifier with different parameters, namely: (a) different distance measures, (b) different standardization techniques, (c) use or non-use of weights, and (d) the number of nearest neighbors to use for the prediction. In total, we compared 30 different CBR classifiers. The study was conducted with a data set from a large real-time system, and the objective was to predict the fault-proneness of its components. Our results indicate that there is no difference in prediction performance when using any combination of parameters. Based on these results, we recommend using a simple CBR classifier with Euclidean distance, z -score standardization, no weighting scheme, and selecting the single nearest neighbor for prediction. The advantage of such a classifier is its intuitive appeal to nonspecialists, and the fact that it performs as well as more complex classifiers.

[1]  F. Coallier,et al.  Risk management in software product procurement , 1999 .

[2]  G. W. Milligan,et al.  A study of standardization of variables in cluster analysis , 1988 .

[3]  David W. Hosmer,et al.  Applied Logistic Regression , 1991 .

[4]  Adam A. Porter,et al.  Evaluating techniques for generating metric-based classification trees , 1990, J. Syst. Softw..

[5]  P. Armitage,et al.  Statistical methods in medical research. , 1972 .

[6]  Taghi M. Khoshgoftaar,et al.  The impact of costs of misclassification on software quality modeling , 1997, Proceedings Fourth International Software Metrics Symposium.

[7]  Janet L. Kolodner,et al.  Case-Based Reasoning , 1988, IJCAI 1989.

[8]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[9]  Mauricio Amaral de Almeida,et al.  An investigation on the use of machine learned models for estimating correction costs , 1998, Proceedings of the 20th International Conference on Software Engineering.

[10]  Taghi M. Khoshgoftaar,et al.  Classification-tree models of software-quality over multiple releases , 2000, IEEE Trans. Reliab..

[11]  Niclas Ohlsson,et al.  Predicting Fault-Prone Software Modules in Telephone Switches , 1996, IEEE Trans. Software Eng..

[12]  Frederick Mosteller,et al.  Understanding robust and exploratory data analysis , 1983 .

[13]  Taghi M. Khoshgoftaar,et al.  Detection of fault-prone program modules in a very large telecommunications system , 1995, Proceedings of Sixth International Symposium on Software Reliability Engineering. ISSRE'95.

[14]  Jacob Cohen,et al.  Weighted kappa: Nominal scale agreement provision for scaled disagreement or partial credit. , 1968 .

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

[16]  Lionel C. Briand,et al.  Investigation of Object - Oriented Designs:An Industrial Case Study , 1999, ICSE 1999.

[17]  Lionel C. Briand,et al.  Investigating quality factors in object-oriented designs: an industrial case study , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[18]  N. Andreasen,et al.  Reliability studies of psychiatric diagnosis. Theory and practice. , 1981, Archives of general psychiatry.

[19]  T J Vecchio,et al.  Predictive value of a single diagnostic test in unselected populations. , 1966, The New England journal of medicine.

[20]  Taghi M. Khoshgoftaar,et al.  Predicting fault-prone modules with case-based reasoning , 1997, Proceedings The Eighth International Symposium on Software Reliability Engineering.

[21]  Lionel C. Briand,et al.  A Comprehensive Investigation of Quality Factors in Object-Oriented Designs: an Industrial Case Study , 1998 .

[22]  Dale J. Prediger,et al.  Coefficient Kappa: Some Uses, Misuses, and Alternatives , 1981 .

[23]  J. Yerushalmy Statistical problems in assessing methods of medical diagnosis, with special reference to X-ray techniques. , 1947, Public health reports.

[24]  Brian Everitt,et al.  Cluster analysis , 1974 .

[25]  Leo Breiman,et al.  Classification and Regression Trees , 1984 .

[26]  Victor R. Basili,et al.  A Pattern Recognition Approach for Software Engineering Data Analysis , 1992, IEEE Trans. Software Eng..

[27]  E. Spitznagel,et al.  A proposed solution to the base rate problem in the kappa statistic. , 1985, Archives of general psychiatry.

[28]  Khaled El Emam,et al.  The Predictive Validity Criterion for Evaluating Binary Classifiers , 1998, IEEE METRICS.

[29]  Lionel C. Briand,et al.  Modeling and managing risk early in software development , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[30]  Adam A. Porter,et al.  Using measurement-driven modeling to provide empirical feedback to software developers , 1993, J. Syst. Softw..

[31]  Victor R. Basili,et al.  Characterizing and Modeling the Cost of Rework in a Library of Reusable Software Components , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[32]  Daniel J. Paulish,et al.  An empirical investigation of software fault distribution , 1993, [1993] Proceedings First International Software Metrics Symposium.

[33]  Anil K. Jain,et al.  Clustering Methodologies in Exploratory Data Analysis , 1980, Adv. Comput..

[34]  Norman E. Fenton,et al.  Quantitative Analysis of Faults and Failures in a Complex Software System , 2000, IEEE Trans. Software Eng..

[35]  Taghi M. Khoshgoftaar,et al.  A tree-based classification model for analysis of a military software system , 1996, HASE.

[36]  Jean Mayrand,et al.  System acquisition based on software product assessment , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[37]  W. Youden,et al.  Index for rating diagnostic tests , 1950, Cancer.

[38]  H. Weisberg Central tendency and variability , 1991 .

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

[40]  Sallie M. Henry,et al.  Software quality metrics based on interconnectivity , 1981, J. Syst. Softw..

[41]  Norman F. Schneidewind,et al.  Validating metrics for ensuring Space Shuttle flight software quality , 1994, Computer.

[42]  Norman F. Schneidewind Software metrics model for integrating quality control and prediction , 1997, Proceedings The Eighth International Symposium on Software Reliability Engineering.

[43]  I. Bratko,et al.  Information-based evaluation criterion for classifier's performance , 2004, Machine Learning.

[44]  Alan Myrvold Data analysis for software metrics , 1990, J. Syst. Softw..

[45]  Giuseppe Visaggio,et al.  Evaluating predictive quality models derived from software measures: Lessons learned , 1997, J. Syst. Softw..

[46]  William N. Venables,et al.  Modern Applied Statistics with S-Plus. , 1996 .

[47]  J. Ross Quinlan,et al.  C4.5: Programs for Machine Learning , 1992 .

[48]  Lionel C. Briand,et al.  Exploring the relationships between design measures and software quality in object-oriented systems , 2000, J. Syst. Softw..

[49]  Ali S. Hadi,et al.  Finding Groups in Data: An Introduction to Chster Analysis , 1991 .

[50]  Aiko M. Hormann,et al.  Programs for Machine Learning. Part I , 1962, Inf. Control..

[51]  Stephen G. MacDonell,et al.  A comparison of techniques for developing predictive models of software metrics , 1997, Inf. Softw. Technol..

[52]  Edward B. Allen,et al.  Case-Based Software Quality Prediction , 2000, Int. J. Softw. Eng. Knowl. Eng..

[53]  Karama Kanoun,et al.  Reliability of a commercial telecommunications system , 1996, Proceedings of ISSRE '96: 7th International Symposium on Software Reliability Engineering.

[54]  Victor R. Basili,et al.  Developing Interpretable Models with Optimized Set Reduction for Identifying High-Risk Software Components , 1993, IEEE Trans. Software Eng..

[55]  Jacob Cohen A Coefficient of Agreement for Nominal Scales , 1960 .

[56]  Khaled El Emam,et al.  Elements of Software Process Assessment & Improvement , 1999 .

[57]  Ian D. Watson,et al.  Applying case-based reasoning - techniques for the enterprise systems , 1997 .

[58]  Taghi M. Khoshgoftaar,et al.  An Information Theory-Based Approach to Quantifying the Contribution of a Software Metric , 1997, J. Syst. Softw..

[59]  Warren Harrison,et al.  Using Software Metrics to Allocate Testing Resources , 1988, J. Manag. Inf. Syst..