Algebraic Validation of software Metrics

A method is described for the formal evaluation of a software metric and its underlying model. This is based upon the specification of the model as an algebra and its desired behaviour as an associated axiom set. If these axioms can be proved to be invariant across the model, then the model may be considered to be valid with respect to its axioms. Where an axiom cannot be shown to be invariant this implies that either the model is anomalous or that the axiom was inappropriate. This approach is applied to a design metric based upon intermodule coupling. It is argued that this method of metric validation is a general one, and one which is capable of increasing confidence in the correctness of a metric particularly during the early stages of its development when empirical data may either be sparse or unavailable. It is intended as a practical means whereby metrics workers can eliminate pathological metrics prior to embarking upon costly and time consuming empirical validation exercises. We do not intend that this method should supplant empirically based means of validation, rather that it is complementary technique.

[1]  H. Kyburg Theory and measurement , 1984 .

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

[3]  Anthony P. M. Coxon,et al.  Contemporary Problems in Statistics , 1985 .

[4]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 1 , 1985, EATCS Monographs on Theoretical Computer Science.

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

[6]  Horst Zuse,et al.  Software metrics: using measurement theory to describe the properties and scales of static software complexity metrics , 1989, SIGP.

[7]  Glenford J. Myers,et al.  Structured Design , 1974, IBM Syst. J..

[8]  D. C. Ince,et al.  System design metrics: a review and perspective , 1988 .

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

[10]  Tom DeMarco,et al.  Controlling Software Projects , 1982 .

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

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

[13]  Patrick Suppes,et al.  Basic measurement theory , 1962 .

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

[15]  Barbara Liskov,et al.  Abstraction and Specification in Program Development , 1986 .

[16]  Tom DeMarco,et al.  Controlling Software Projects: Management, Measurement, and Estimates , 1986 .

[17]  M. Shepperd,et al.  A critique of cyclomatic complexity as a software metric , 1988, Softw. Eng. J..

[18]  Tom DeMarco,et al.  Controlling software projects : management, measurement & estimation , 1982 .

[19]  Martin Shepperd Design metrics: an empirical analysis , 1990 .

[20]  Martin J. Shepperd,et al.  System architecture metrics : an evaluation , 1991 .

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

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

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

[24]  Erik Johnsen C. West Churchman and Philburn Ratoosh, ed.: Measurement: Definitions and Theories. John Wiley and Sons, Inc., 1959. 274 s. , 1961 .

[25]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[26]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

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

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

[29]  Tom Gilb,et al.  Principles of software engineering management , 1988 .

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

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

[32]  Barbara A. Kitchenham,et al.  Software metrics and integrated project support environments , 1986, Softw. Eng. J..

[33]  C. West Churchman,et al.  Measurement: Definitions and Theories , 1960 .

[34]  John V. Guttag,et al.  Abstract data types and the development of data structures , 1977, CACM.

[35]  Narain H. Gehani,et al.  Specifications: Formal and informal—a case study , 1982, Softw. Pract. Exp..

[36]  Darrel C. Ince,et al.  Martin J. Shepperd: An Empirical and Theoretical Analysis of an Information Flow-Based System Design Metric , 1989, ESEC.