Discriminative efficiency methodology for validating software quality classification models

The use of discriminant analysis for controlling software quality using complexity metrics is explored. One of the main problems in discriminant analysis involves selecting the principal components among complexity metrics that affect the classification of software modules into several groups based on quality. This paper focuses on the use of Akaike information criterion (AIC) procedures for selecting these principal components. These procedures are based on the residual sum of squares obtained from the maximum likelihood estimation and the number of complexity metrics. The validity of using AIC procedures is confirmed by Wilks A -criterion procedures, taking the discriminant efficiencies (i.e., F-test values) of models and those of complexity measures into account. Experiments show that AIC procedures can identify the model that has the highest discriminant efficiency with a low misclassification ratio and that the maximum F-test value model is an approximate solution of the minimum AIC estimated model.

[1]  Daryl Pregibon,et al.  An analysis of static metrics and faults in C software , 1985, J. Syst. Softw..

[2]  Brian W. Kernighan,et al.  The C Programming Language , 1978 .

[3]  Tze-Jie Yu,et al.  Identifying Error-Prone Software—An Empirical Study , 1985, IEEE Transactions on Software Engineering.

[4]  Taghi M. Khoshgoftaar,et al.  Applications of a relative complexity metric for software project management , 1990, J. Syst. Softw..

[5]  Sallie M. Henry,et al.  Software Structure Metrics Based on Information Flow , 1981, IEEE Transactions on Software Engineering.

[6]  Taghi M. Khoshgoftaar,et al.  Regression modelling of software quality: empirical investigation☆ , 1990 .

[7]  M. H. Halstead,et al.  Natural laws controlling algorithm structure? , 1972, SIGP.

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

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

[10]  William M. Evanco,et al.  Projecting Software Defects From Analyzing Ada Designs , 1992, IEEE Trans. Software Eng..

[11]  Scott N. Woodfield,et al.  The effect of modularization and comments on program comprehension , 1981, ICSE '81.

[12]  Rigorous definition and analysis of program complexity measures: An example using nesting , 1989, J. Syst. Softw..

[13]  Douglas C. Schmidt,et al.  Metric-driven analysis and feedback systems for enabling empirically guided software development , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[14]  Taghi M. Khoshgoftaar,et al.  Measurement of data structure complexity , 1993, J. Syst. Softw..

[15]  Taghi M. Khoshgoftaar,et al.  The Detection of Fault-Prone Programs , 1992, IEEE Trans. Software Eng..

[16]  Victor R. Basili,et al.  Recent advances in software measurement , 1990, [1990] Proceedings. 12th International Conference on Software Engineering.

[17]  Taghi M. Khoshgoftaar,et al.  The lines of code metric as a predictor of program faults: a critical analysis , 1990, Proceedings., Fourteenth Annual International Computer Software and Applications Conference.

[18]  Mansur H. Samadzadeh,et al.  A study of software metrics , 1991, J. Syst. Softw..

[19]  Darrel C. Ince,et al.  A critique of three metrics , 1994, J. Syst. Softw..

[20]  Wei-Tek Tsai,et al.  A tool for discriminant analysis and classification of software metrics , 1987 .