On the relationships among three software metrics

Automatable metrics of software quality appear to have numerous advantages in the design, construction and maintenance of software systems. While numerous such metrics have been defined, and several of them have been validated on actual systems, significant work remains to be done to establish the relationships among these metrics. This paper reports the results of correlation studies made among three complexity metrics which were applied to the same software system. The three complexity metrics used were Halstead's effort, McCabe's cyclomatic complexity and Henry and Kafura's information flow complexity. The common software system was the UNIX operating system. The primary result of this study is that Halstead's and McCabe's metrics are highly correlated while the information flow metric appears to be an independent measure of complexity.

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

[2]  Frances E. Allen Interprocedural Analysis and the Information derived by it , 1974, Programming Methodology.

[3]  Daniel Schutzer On the specification and quantification of software performance objectives , 1977, ACM '77.

[4]  Ken Thompson,et al.  The UNIX time-sharing system , 1974, CACM.

[5]  L. A. Belady,et al.  System partitioning and its measure, RC 7560 (32643) , 1980 .

[6]  Norman L. Soong,et al.  A program stability measure , 1977, ACM Annual Conference.

[7]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[8]  Laszlo A. Belady,et al.  System partitioning and its measure , 1981, J. Syst. Softw..

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

[10]  Matthew S. Hecht,et al.  Flow Analysis of Computer Programs , 1977 .

[11]  R. N. Chanon On a measure of program structure , 1974, Symposium on Programming.

[12]  Maurice H. Halstead,et al.  A Software Physics Analysis of Akiyama's Debugging Data , 1975 .

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

[14]  Edsger W. Dijkstra,et al.  Structured programming , 1972, A.P.I.C. Studies in data processing.

[15]  B. H. Yin,et al.  The establishment and use of measures to evaluate the quality of software designs , 1978 .

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

[17]  Christopher Alexander Notes on the Synthesis of Form , 1964 .