Algebraic validation of software metrics

  • Martin Shepperd
  • Darrel Ince
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 550)


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.


Software metrics measurement validation algebraic specification software design 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Boeh84]
    Boehm, B.W. ‘Software engineering economics'. IEEE Trans, on Softw. Eng. 10(1) pp4–21. 1984.Google Scholar
  2. [deMa82]
    deMarco, T. ‘Controlling software projects. Management, measurement and estimation'. Yourdon Press. NY. 1982.Google Scholar
  3. [Ehri85]
    Ehrig, H. Mahr, B. Fundamentals of algebraic specification, EATCS, Vol.6 Springer-Verlag, 1985.Google Scholar
  4. [Fent86]
    Fenton, N.E. Whitty, R.W. ‘Axiomatic approach to Software metrification through program decomposition'. Computer J. 29(4) pp330–340. 1986.Google Scholar
  5. [Geha82]
    Gehani, N.H. ‘Specifications formal and informal — a case study', Softw. Pract. & Experience, 12, pp433–444, 1982.Google Scholar
  6. [Gilb88]
    Gilb, T. Principles of software engineering management, Addison-Wesley, 1988.Google Scholar
  7. [Gutt77]
    Guttag, J.V. ‘Abstract data types and the development of data structures”. CACM 20(6) pp397–404. 1977.Google Scholar
  8. [Gutt78]
    Guttag, J.V. Horning, J.J. ‘The ALgebraic Specification of Abstract data types', Acta Informatica, 10, pp27–52, 1978.Google Scholar
  9. [Henr81]
    Henry, S. Kafura, D. Harris, K. ‘On the relationship among three software metrics’ ACM SIGMETRICS Performance Evaluation Review 10, Spring pp81–88. 1981.Google Scholar
  10. [Hame82]
    Hamer, P.G. Frewin, G.D. ‘M.H. Halstead's Software Science — A Critical Examination'. Proc. IEEE 6th Int. Conf on Softw. Eng. pp197–206. 1982.Google Scholar
  11. [Ince88]
    Ince, D.C. Shepperd, M.J. 'system design metrics: a review and perspective.’ Proc. IEE/BCS Conf. Software Engineering '88 July 12–15, Liverpool University, pp23–27. 1988.Google Scholar
  12. [Ince89]
    Ince, D.C. Shepperd, M.J. ‘An empirical and theoretical analysis of an information flow based design metric'. Proc. European Software Eng. Conf., Warwick, England. Sept. 12–15, 1989.Google Scholar
  13. [Kitc86]
    Kitchenham, B.A. McDermid, J.A. ‘Software metrics and integrated project support environments'. Softw. Eng. J. 1(1) pp58–64. 1986.Google Scholar
  14. [Kran71]
    Krantz, D.H. Luce, R.D. Suppes, P. Tversky, A. Foundations of measurement. Academic Press, London. 1971.Google Scholar
  15. [Kybe84]
    Kyburg, H.E. Theory and measurement. Cambridge Univ. Press, Cambridge, England. 1984.Google Scholar
  16. [Lass81]
    Lassez, J-L. van der Knijff, D.J.J. Shepherd, J. Lassez, C. ‘A critical examination of software science'. J. of Syst. & Softw. 2, pp105–112. 1981.Google Scholar
  17. [Lisk86]
    Liskov, B. Guttag, J. Abstraction and specification in program development. MIT Press, MA., 1986.Google Scholar
  18. [McCa76]
    McCabe, T.J. ‘A complexity measure’ IEEE Trans. on Softw. Eng. 2(4) pp308–320. 1976.Google Scholar
  19. [Melt90]
    Melton, A.C. Gustafson, D.A. Bieman, J.A. Baker, J.A. ‘A mathematical perspective for software measures research’ Softw. Eng. J. 5(4) pp246–254, 1990.Google Scholar
  20. [Parn72]
    Parnas, D.L. ‘On the criteria to be used in decomposing systems into modules'. CACM 15(2) pp1053–1058.Google Scholar
  21. [Prat84]
    Prather, R.E. ‘An axiomatic theory of software complexity metrics'. The Comp. J. 27(4) pp340–347. 1984.Google Scholar
  22. [Prat87]
    Prather, R.E. ‘On hierarchical software metrics'. Softw. Eng. J. 2(2) pp42–45. 1987.Google Scholar
  23. [Shep88]
    Shepperd, M.J. ‘A critique of cyclomatic complexity as a software metric’ Softw. Eng. J. 3(2) pp30–36. 1988.Google Scholar
  24. [Shep90]
    Shepperd, M.J. ‘An empirical study of design measurement'. The Softw. Eng. J. Jan. 1990.Google Scholar
  25. [Shep91]
    Shepperd, M.J. System Architecture Metrics: An Evaluation, PhD Dissertation, Open University, 1991.Google Scholar
  26. [Stev59]
    Stevens, S.S. ‘Measurement, psychophysics and utility’ in Churchman, C.W. Ratoosh, P. (eds.) ‘Measurement: definitions and theories'. Wiley, N.Y., 1959.Google Scholar
  27. [Stev74]
    Stevens, W.P. Myers, G.J. Constantine, L.L. ‘Structured design’ IBM Sys. J. 13(2) pp115–139. 1974.Google Scholar
  28. [Supp71]
    Suppes, P. Zinnes, J.L. ‘Basic measurement theory'. In Lieberman, B. (ed.) ‘Contemporary problems in statistics’ O.U.P. 1971.Google Scholar
  29. [Weyu88]
    Weyuker, E.J. ‘Evaluating software complexity measures'. IEEE Trans. on Softw. Eng. 14(9) pp1357–1365. 1988.Google Scholar
  30. [Yau80]
    Yau, S.S. Collofello, J.S. ‘Some stability measures for software maintenance'. IEEE Trans. on Softw. Eng. 6(6) pp545–552. 1980.Google Scholar
  31. [Yin78]
    Yin, B.H. Winchester, J.W. ‘The establishment and use of measures to evaluate the quality of software designs’ Proc. ACM Softw. Qual. Ass. Workshop pp45–52. 1978.Google Scholar
  32. [Zuse89]
    Zuse, H. Bollmann, P. ‘Software metrics: using measurement theory to describe the properties and scales of static complexity metrics'. ACM SIGPLAN Notices 24(8), pp23–33, 1989.Google Scholar
  33. [Zuse90]
    Zuse, H. Software Complexity. Measures and Methods, deGruyter, Berlin, 1990.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Martin Shepperd
    • 1
  • Darrel Ince
    • 2
  1. 1.Dept. of Computing and CognitionBournemouth PolytechnicBournemouthEngland
  2. 2.Dept. of Computer ScienceOpen UniversityMilton KeynesEngland

Personalised recommendations