When a software measure is not a measure

A recent interesting paper by Melton et al. [1] discussed finding measures which preserve intuitive orderings on software documents. Informally, if ≤ is such an ordering, then they argue that a measure M is a real-valued function defined on documents such that M(F) ≤ M(F′) whenever F ≤ F′. However, in measurement theory, this is only a necessary condition for a measure M. The representation condition for measurement additionally requires the converse; that F≤F′ whenever M(F) ≤ M(F′). Using the measurement theory definition of a measure, we show that Melton et al.'s examples, like McCabe's cyclomatic complexity [2] are not measures of the proposed intuitive document ordering after all. However, by dropping the restriction to real-valued functions, we show that it is possible to define a measure which characterises Melton et al.'s order relation; this provides a considerable strengthening of the results in Reference 1. More generally, we show that there is no single real-valued measure which can characterise any intuitive notion of ‘complexity’ of programs. The power of measurement theory is further illustrated in a critical analysis of some recent work by Weyuker [3] et al. on axioms for software complexity measures.

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

[2]  L. Finkelstein,et al.  A review of the fundamental concepts of measurement , 1984 .

[3]  Albert L. Baker,et al.  A mathematical perspective for software measures research , 1990, Softw. Eng. J..

[4]  W. Mader,et al.  Surveys in Combinatorics: Connectivity and edge-connectivity in finite graphs , 1979 .

[5]  Enrique Ivan Oviedo Control flow, data flow and program complexity , 1984 .

[6]  F. Roberts Measurement Theory with Applications to Decisionmaking, Utility, and the Social Sciences: Measurement Theory , 1984 .

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

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

[9]  J.,et al.  SOFTWARE PROJECT FORECASTING , .

[10]  Albert L. Baker,et al.  A philosophy for software measurement , 1990, J. Syst. Softw..

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

[12]  Franz Stetter A Measure of Program Complexity , 1984, Comput. Lang..

[13]  Barbara A. Kitchenham,et al.  Validating software measures , 1991, Softw. Test. Verification Reliab..

[14]  Ki Hang Kim Measurement theory with applications to decision-making, utility and the social sciences: Fred S. Robert Reading, MA 01867: Addison-Wesley, 1979. $24.50 , 1981 .

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

[16]  Carl H. Smith,et al.  On Weyuker's Axioms For Software Complexity Measures , 1991, IEEE Trans. Software Eng..

[17]  Jaap Van Brakel,et al.  Foundations of measurement , 1983 .

[18]  J. H. Johnson,et al.  The mathematical revolution inspired by computing , 1991 .

[19]  L. Varga,et al.  A new approach to defining software complexity measures , 1988, Acta Cybern..

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

[21]  NED CHAPIN A measure of software complexity , 1979, 1979 International Workshop on Managing Requirements Knowledge (MARK).

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

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