A validation of software metrics using many metrics and two resources

In this paper are presented the results of a study in which several production software systems are analyzed using ten software metrics. The ten metrics include both measures of code details, measures of structure, and combinations of these two. Historical data recording the number of errors and the coding time of each component are used as objective measures of resource expenditure of each component. The metrics are validated by showing: (1) the metrics singly and in combination are useful indicators of those components which require the most resources, (2) clear patterns between the metrics and the resources expended are visible when both resources are accounted for, (3) measures of structure are as valuable in examining software systems as measures of code details, and (4) the choice of which, or how many, software metrics to employ in practice is suggested by measures of “yield” and “coverage”.

[1]  John D. Musa,et al.  A theory of software reliability and its application , 1975, IEEE Transactions on Software Engineering.

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

[3]  Maurice H. Halstead,et al.  Elements of software science (Operating and programming systems series) , 1977 .

[4]  Maurice H. Halstead,et al.  Elements of software science , 1977 .

[5]  Carma L. McClure,et al.  A model for program complexity analysis , 1978, ICSE '78.

[6]  Sallie Marie Henry,et al.  Information flow metrics for the evaluation of operating systems' structure. , 1979 .

[7]  Bill Curtis,et al.  Third time charm: Stronger prediction of programmer performance by software complexity metrics , 1979, ICSE 1979.

[8]  Scott Norman Woodfield,et al.  Enhanced effort estimation by extending basic programming models to include modularity factors , 1980 .

[9]  Stephen S. Yau,et al.  Some Stability Measures for Software Maintenance , 1980, IEEE Trans. Software Eng..

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

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

[12]  John Shepherd,et al.  A critical examination of software science , 1981, J. Syst. Softw..

[13]  Sallie M. Henry,et al.  On the relationships among three software metrics , 1981, SIGMETRICS Perform. Evaluation Rev..

[14]  G. D. Frewin,et al.  M.H. Halstead's Software Science - a critical examination , 1982, ICSE '82.

[15]  H. E. Dunsmore,et al.  Software Science Revisited: A Critical Analysis of the Theory and Its Empirical Support , 1983, IEEE Transactions on Software Engineering.

[16]  Victor R. Basili,et al.  Metric Analysis and Data Validation Across Fortran Projects , 1983, IEEE Transactions on Software Engineering.

[17]  Dennis Kafura,et al.  The independence of software metrics taken at different life-cycle stages , 1984 .

[18]  Sallie M. Henry,et al.  The evaluation of software systems' structure using quantitative software metrics , 1984, Softw. Pract. Exp..

[19]  James Thomas Canning The application of structure and code metrics to large scale systems , 1985 .

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