Design and analysis of hierarchical software metrics

One of the main goals of software engineering is to assess the quality of the software we develop, however this is to be measured. A software metric, assigning a number to each piece of program text, will generally attempt to address one or more quality attributes in its assessment. These might include software reliability, testability, maintainability, and the like, and, in general, a kind of complexity of the software in some specific and restricted sense. In this tutorial a new cubic flowgraph model is introduced and shown to be useful in exploring a whole range of software metric design and analysis techniques, specifically in reference to the subclass of software metrics that are said to be hierarchical. In particular, the cubic flowgraph model leads to the discovery of certain inequalities among existing metrics, serves to provide a new characterization of the important class of prime flowgraphs, and points the way to an. effective method for counting and enumerating the primes.

[1]  Ronald E. Prather,et al.  Decomposition of Flowchart Schemata , 1981, Computer/law journal.

[2]  Ronald E. Prather,et al.  Axiomatic foundations for structural software metrics , 1994, Proceedings of 1994 IEEE 2nd International Software Metrics Symposium.

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

[4]  Norman E. Fenton,et al.  Software Metrics: A Rigorous Approach , 1991 .

[5]  John Bainbridge,et al.  Defining testability metrics axiomatically , 1994, Softw. Test. Verification Reliab..

[6]  Nicholas C. Wormald,et al.  Numbers of cubic graphs , 1983, J. Graph Theory.

[7]  Pim van den Broek,et al.  Static analysis of functional programs , 1994, Inf. Softw. Technol..

[8]  Robin W. Whitty Multi-dimensional Software Metrics , 1991, Formal Aspects of Measurement.

[9]  Robin W. Whitty,et al.  A rigorous approach to structural analysis and metrication of software , 1985, Softw. Microsystems.

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

[11]  M. Howard Williams Flowchart Schemata and the Problem of Nomenclature , 1983, Comput. J..

[12]  Colin Cooper Asymptotic Enumeration of Predicate-Junction Flowgraphs , 1996, Comb. Probab. Comput..

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

[14]  Harlan D. Mills,et al.  Structured programming - theory and practice , 1979, The systems programming series.

[15]  Ronald E. Prather,et al.  On hierarchical software metrics , 1987, Softw. Eng. J..

[16]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[17]  Robin W. Whitty,et al.  Software quality assurance, a rigorous engineering practice , 1988 .

[18]  Robin W. Whitty,et al.  Axiomatic Approach to Software Metrication Through Program Decomposition , 1986, Comput. J..

[19]  Frank Harary,et al.  Graph Theory , 2016 .

[20]  J. Král,et al.  The Hierarchy of Program Control Structures , 1986, Comput. J..

[21]  Norbert Fuchs,et al.  Language Independent Definition of Axiomatic Metrics , 1991, Formal Aspects of Measurement.

[22]  Robin W. Whitty,et al.  Structured programming: a tutorial guide , 1984, Softw. Microsystems.

[23]  Horst Zuse,et al.  Software complexity: Measures and methods , 1990 .

[24]  Ronald E. Prather An Axiomatic Theory of Software Complexity Measure , 1984, Comput. J..

[25]  Duncan Fyfe Gillies,et al.  Synthesis and Structural Analysis of Abstract Programs , 1980, Comput. J..

[26]  Leslie P. Willcocks,et al.  Software Metrics. A Rigorous Approach , 1991, J. Inf. Technol..

[27]  Robin J. Wilson Introduction to Graph Theory , 1974 .