An axiomatic approach of software functionality measure

Three axioms for functional complexity of software are proposed. The first axiom asserts that functional complexity is a function and is computable at the specification level. The second axiom argues that an empty specification has zero functional complexity. The third axiom asserts that a harder specification has no less functional complexity than an easier one. With these three axioms and various definitions of the notions of functional complexity, a number of theorems are proved. Code metrics, including statement count, M. Halstead's (1977) programming effort, and T. McCabe's cyclomatic number are reviewed, together with specification metrics including L. Hellerman's (1972) metric, D. Schutt's (1977) metric, N. Coulter's (1987) metric, and A. Albrecht's (1983) functional point. These metrics are evaluated with respect to the three axioms. Results show that code metrics do not satisfy these axioms, while Hellerman, Schutt, and Coulter metrics do.<<ETX>>

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

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

[3]  B. Curtis,et al.  Software Metrics: Guest Editor's Introduction , 1983, IEEE Trans. Software Eng..

[4]  Neal S. Coulter,et al.  Information-Theoretic Complexity of Program Specifications , 1987, Comput. J..

[5]  Elaine J. Weyuker,et al.  Evaluating Software Complexity Measures , 2010, IEEE Trans. Software Eng..

[6]  DANIEL E. COOKE,et al.  On the Development of a Method to Synthesize Programs from Requirements Specifications , 1991, Int. J. Softw. Eng. Knowl. Eng..

[7]  H. F. Li,et al.  An Empirical Study of Software Metrics , 1987, IEEE Transactions on Software Engineering.

[8]  Leo Hellerman,et al.  A Measure of Computational Work , 1972, IEEE Transactions on Computers.

[9]  C. E. SHANNON,et al.  A mathematical theory of communication , 1948, MOCO.

[10]  Martin Shepperd,et al.  An evaluation of software product metrics , 1988 .

[11]  John E. Gaffney,et al.  Software Function, Source Lines of Code, and Development Effort Prediction: A Software Science Validation , 1983, IEEE Transactions on Software Engineering.

[12]  Ellis Horowitz,et al.  Fundamentals of Data Structures in Pascal , 1984 .

[13]  Murat M. Tanik,et al.  Guest Editors' Introduction: Rapid Prototyping in Software Development , 1989, Computer.

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

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

[16]  D. Schutt On a Hypergraph Oriented Measure For Applied Computer Science , 1977 .

[17]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[18]  John Stephen Davis,et al.  A Study of the Applicability of Complexity Measures , 1988, IEEE Trans. Software Eng..

[19]  Murat M. Tanik,et al.  Rapid Prototyping in Software Development , 1989 .

[20]  Eli Berlinger,et al.  An information theory based complexity measure , 1899, AFIPS '80.

[21]  Harlan D. Mills,et al.  Using Metrics to Quantify Development , 1990 .

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