skip to main content
article
Free Access

Software metrics and measurement principles

Published:01 January 1994Publication History
Skip Abstract Section

Abstract

Software measurement is widely advocated as a fundamental constituent of an engineering approach to planning and controlling software development. Unfortunately, there is a dichotomy between the quantity of developed metrics and those used. This paper provides a tutorial review of software engineering measurement indicating the depth and breadth of the field. Individual metrics are not described due to the interest of this paper being on the measurement process and not the products of that process. Generic problems have been identified within existing measurement processes, these provide learning points for the expression of measurement principles. These principles are classified and described according to their position within the formulation, analysis and application stages of measurement. Conclusions are elaborated that suggest that existing measurement frameworks for applying measurement - often called measurement methods - do not provide sufficient support for the principles and their continued use will only serve to replicate the problems. In order to improve the products i.e. metrics, the measurement process requires improvement through inclusion of these principles in a new method.

References

  1. Albrecht, A.J. and Gaffney, J.E. (1983) Software Function, Source Lines of Code, and Development Prediction" A Software Science Validation. In: IEEE Trans. on Software Eng. SE 9 (6) p. 639-647 1983.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Bainbridge, J. and Whitty, R. (1990) Obtaining structural metrics of Z specifications for system development. In: Proc. 5th Ann. Z User Meeting Oxford 17-18 Dec. 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Basili, V.R. and Selby, R.W. (1985) Calculation and use of an environment's characteristic software metric set. In: Proc. 8th Intl. Conf. on Softw. Eng. p. 386-391 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Basili, V.R. and Hutchens, D.H. (1983) An Empirical Study of a Syntactic Complexity Family. In: IEEE Trans. Softw. Eng. SE 9 (6) p. 664-672 1983.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Basili, V.R. and Rombach, H.D. (1988) The TAME project: Towards Improvement-oriented software environments. In: IEEE Trans on Softw. Eng. SE 14 (6) June p. 758- 771 1988.Google ScholarGoogle Scholar
  6. Basili, V.R. and Selby, R.W. (1987) Comparing the effectiveness of software testing strategies: In: IEEE Trans. on Softw. Eng. SE 13 (12) p. 1278-1296. 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Basili, V.R. and Selby, R.W. (1991) Paradigms for experimentation and empirical studies in software engineering. In: Reliability Engineering and System Safety 32 p. 171- 191 1991.Google ScholarGoogle Scholar
  8. Basili, V.R. and Weiss, D.M. (1984) A methodology for collecting valid software engineering data. In: IEEE Trans. on Softw. Eng. SE 10 p. 728-738 1984.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Belady, L.A. and Evangelisti, C.J. (1981) System partitioning and its measure. In: J. of Syst. and Softw. SE 2 p. 23-29 1981.Google ScholarGoogle Scholar
  10. Benyon-Tinker, G. (1979) Complexity measures in an evolving large system. In: Proc. ACM Workshop on Quantitative: Software Models p. 117-127 1979.Google ScholarGoogle Scholar
  11. Boehm, B.W. (1981) Software Engineering Economics. Englewood Cliffs NJ Prentice-Hall 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Boehm, B.W. (1984) Software engineering economics. In: IEEE Trans on Softw. Eng. SE 10 (1) p. 4-21 1984.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Born, G. Controlling software quality. In: Softw. Eng. J. 1 (1) Special issue on Controlling software projects January p. 24-28 1986. Google ScholarGoogle Scholar
  14. Bourque, P. Cote, V. (1991) An experiment in software sizing with structured analysis metrics. In: J. of Syst. and Softw. 15 (2) p. 159-72 1991. Google ScholarGoogle Scholar
  15. Bredero, R. Caracoglia, G. Jaggers, C. Kok, P. Tate, G. Verner, J. (1989) Comparative evaluation of existing cost estimation tools. In: MERMAID Project Report D7.1Y November 1989.Google ScholarGoogle Scholar
  16. Bush, M. and Fenton, N.E. (1990) Software measurement: A conceptual framework. In: J. Syst. Softw. 12 p. 223-231 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Card, D.N. and Agresti, W.W. (1988) Measuring software design complexity. In: J. of Syst. and Softw. 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Chapin, N. (1979) A measure of software complexity. In: Proc. AFIPS p. 995-1002 1979.Google ScholarGoogle Scholar
  19. Chemiavsky, J. C. (1991) On Weyuker's axioms for software complexity measures. In: IEEE Trans. on Softw. Eng. SE 17 (6) p. 636-638 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Conte, S.D. Dunsmore, H.E. and Shen, V.Y. (1986) Software Engineering Metrics and Models. Benjamin Cummings Memlo Park Ca USA 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Coulter, N.S. (1983) Software Science and Cognitive Psychology. In: IEEE Trans. Softw. Eng. SE 9 (2) p. 166-171 1983.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Cowderoy, A.J.C. (1989) New trends in Cost-Estimation. In: Proc. Centre for Software Reliability Conf. on Measurement for Softw. Control and Assurance (Eds.) Kitchenham, B. and Littlewood, B. Elsevier Bristol U.K. p. 63-88 1989.Google ScholarGoogle Scholar
  23. Curtis, B. Sheppard, S. Milliman, P. Borst, M. and Love, T. (1979b) Measuring the psychological complexity of software maintenance tasks with the Halstead and McCabe metrics. In: IEEE Trans. on Softw. Eng. SE 5 (2) p. 96-104 1979.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. de Paoli, F. Morasca, S. (1990) Extending software complexity metrics to concurrent programs. In: Proc. 14th Annual International Computer Software and Applications Conference p. 414-19 1990.Google ScholarGoogle ScholarCross RefCross Ref
  25. deMarco, T. (1982) Controlling Software Project Management, Measurement and Estimation. New York, Yourdon Press, 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Emerson, T.J. (1984) A discriminant metric for module cohesion. In: Proc. 7th Int. Conf. on Softw. Eng. p. 335-343 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Evangelist, W.M. (1983) Software Complexity Metric Sensitivity to Program structuring rules. In: J. Syst. and Softw. 3 (3) p. 231-243 1983. Google ScholarGoogle Scholar
  28. Evans, M.W. and Marciniak, J.J. (1987) Software quality assurance and management. John Wiley and Sons, Chichester UK 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Fenton, N.E. and Whitty, R.W. (1986) Axiomatic approach to software metrication through program decomposition. In: Computer J. 29 (4) p. 329-339 1986.Google ScholarGoogle Scholar
  30. Fenton N.E. (1991) Software Metrics: A Rigorous Approach. Chapman Hall London 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Frewin, G.D. and Hatton, B.J. (1986) Quality management - procedures and practices. In: Softw. Eng. J. 1 (1) Special issue on Controlling software projects January p. 29-38 1986. Google ScholarGoogle Scholar
  32. Fuchs, N. and S. Stainer (1991) Language independent definition of axiomatic metrics In: Proceedings 1st BACS Seminar on Formal Aspects of Measurement University of the South Bank London 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Grady, R.B. and Caswell, D.L. (1987) Software Metrics: Establishing a company wide program. Prentice Hall NJ 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Grady, R.B. (1992) Practical Software Metrics for Project management and Process Improvement. Prentice Hall Englewood cliffs NJ. 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Halstead, M.H. and Zislis, P.M (1973) Experimental Verification of Two Theorems of Software Physics. In: Computer Science Department Technical Report 97 Purdue University 1973.Google ScholarGoogle Scholar
  36. Halstead, M.H. (1975) Software Physics: Basic Principles. In: IBM Research Report RJ1582 1975.Google ScholarGoogle Scholar
  37. Halstead, M.H. (1977) Elements of Software Science. New York Elsevier North Holland 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Hamer, P.G. and Frewin, G.D. (1982) M.H. Halstead's Software Science - A Critical Examination. In: Proc. 6th Intl. Conf. Softw. Eng. p. 197-206 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Hansen, W.J. (1978) Measurement of program complexity by the pair (Cyclomatic number, operator count) In: ACM SIGPLAN Notices 13 (3) p. 29-33 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Harrison, W. and Magel, K. (1981) A complexity measure based upon nesting level. In: ACM SIGPLAN Notices 16 (3) p. 63-74 1981. Google ScholarGoogle Scholar
  41. Harrison, W. Magel, K. Kluczny, R. and DeKock, A. (1982) Applying software complexity metrics to program maintenance. In: Computer 15 (9) Sept. p. 65-78 1982.Google ScholarGoogle Scholar
  42. Henry, S. and Kafura, D. (1981) Software structure metrics based on information flow. In: IEEE Trans. on Softw. Eng. SE 7 (5) Sept. p. 510-517 1981.Google ScholarGoogle Scholar
  43. Hihn, J. and Habib-Agahi, H. (1991) Cost estimation of software intensive projects: A survey of current practice. In: Proc. 13th Intl. Conf. on Softw. Eng. 13-16 May Austin Texas USA IEEE Computer Society Press p. 276-287 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Ince, D. (1990) An annotated bibliography of software metrics In: ACM SIGPLAN Notices 25(8) p. 15-23 Aug. 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Ince, D.C. and Shepperd, M.J. (1988) System design metrics: A review and perspective. In: Proc. IEE/BCS Conf. on Softw. Eng. p. 23-27 1988.Google ScholarGoogle Scholar
  46. Ince, D.C. Shepperd, M.J. (1989) An empirical and theoretical analysis of an information flow-based system design metric. In: Proc. ESEC '89. 2nd European Softw. Eng. Conf. p. 86-99 (Eds.) Ghezzi, C. McDermid, J.A. Springer-Verlag Berlin West Germany 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Johnston, D.B. and Lister, A.M. (1981) A Note on the Software Science Length Equation. In: Softw. Practice and Experience 11 (8) p. 875-879 1981.Google ScholarGoogle Scholar
  48. Kafura, D. and Canning, J. (1985) A validation of software metrics using many metrics and two resources. In: Proc. 8th Intl. Conf. on Softw. Eng. p. 378-385 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Kemerer, C.F. (1987) An empirical validation of software cost estimation models. In: CACM 30 (5) May p. 416-429 1987. Google ScholarGoogle Scholar
  50. Kemerer, C.F. (1993) Reliability of Function Points Measurement. In: CACM 36 (2) February p. 85-97 1993. Google ScholarGoogle Scholar
  51. Kitchenham, B. and Pickard, L (1987a) Towards a constructive quality model Part I: Software quality modelling, measurement and prediction. In: Softw. Eng. J. p. 105-113 July 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Kitchenham, B. and Pickard, L (1987b) Towards a constructive quality model Part II: statistical techniques for modelling software quality in the ESPRIT REQUEST project. In: Softw. Eng., J. p. 114-126 July 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Kitchenham, B.A. and Walker, J.G. (1989a) A quantitative approach to monitoring software development. In: Softw. Eng. J. January p. 2-13 1989. Google ScholarGoogle Scholar
  54. Kitchenham, B.A. and Linkman, S.J. (1990) Design metrics in practice. In: Info. and Softw. Tech. 32(4) May p. 304-309 1990. Google ScholarGoogle Scholar
  55. Kitchenham, B.A. and McDermid, J.A. (1986) Software metrics and integrated project support environments. In: Softw. Eng. J. 1(1) p. 58-64 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Kitchenham, B.A. Pickard, L.M. and Linkman, S.J. (1990a) An evaluation of some design metrics. In: Softw. Eng. J. 5 (1) Special issue on software reliability and metrics January p. 50-58 1990. Google ScholarGoogle Scholar
  57. Kitchenham, B.A. (1991) Empirical studies of the assumptions underlying software cost estimation models. In: Info. and Softw. Tech. 34(4) p. 211-218 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Kitchenham, B.A. (1993) Inter-item correlations among function points. In: Proc. 1st Intl. Software Metrics Symposium Baltimore USA May 21-22 p. 11-15 1993.Google ScholarGoogle Scholar
  59. Kok, P.A.M. Kitchenham, B.A. and Kirakowski, J. (1990) The Mermaid approach to software cost estimation. In: Proc. ESPRIT '90 Conf. Kluwer Academic Press 1990.Google ScholarGoogle ScholarCross RefCross Ref
  60. Lassez, D. Van de Knijff, and Shepherd, (1981) A Critical Examination of Software Science. In: J. Syst. and Softw. 2 p. 105-112 1981.Google ScholarGoogle Scholar
  61. Lehman, M.M. (1991) Software engineering - theory and practice. In: Softw. Eng. J. 6 (5) Special issue on Software process and its support Sept. p. 243-258 1991. Google ScholarGoogle Scholar
  62. Lewis, J.A. and Henry, S.M. (1990) On the benefits and difficulties of a maintainability via metrics methodology. In: Softw. Maintenance: Research and Practice 2 p. 113-131 1990. Google ScholarGoogle Scholar
  63. Li, H.F. Cheung, W.K. (1987) An empirical study of software metrics. In: IEEE Trans. on Softw. Eng. SE 13 (6) 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. Londeix, B. (1988) Aspects of estimation practice in software development. In: Proc. IEE/BCS Conf. an Softw. Eng. '88 p. 75-79 1988.Google ScholarGoogle Scholar
  65. Low, G.C. and Jeffery, D.R. (1990) Function Points in the estimation and evaluation of the software process. In: IEEE Trans. on Softw. Eng. SE 16(1) p. 64-71 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. McCabe, T.J. (1976) A complexity measure. In: IEEE Trans. on Softw. Eng. SE 2 (4) Dec. p. 308-320 1976. Google ScholarGoogle Scholar
  67. McClure, C. (1978) A model for program complexity analysis. In: Proc. 3rd Intl. Conf. on Softw, Eng. p. 149-157 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. Myrvold, A. (1990) Data analysis for software metrics. In: J. Syst. and Softw. 12 p. 271- 275 1990. Google ScholarGoogle Scholar
  69. Oviedo, E. (1980) Control flow, data flow and program complexity. In: Proc. IEEE Computer Software and Applications Conference Chicago USA p. 146-152 1980.Google ScholarGoogle Scholar
  70. Pickard, L.M. (1989) Analysis of software metrics. In: Proc. Centre for Software Reliability Conf. on Measurement for Softw. Control and Assurance (Eds) Kitchenham, B. and Littlewood, B. Bristol U.K. Elsevier p. 155-180. 1989.Google ScholarGoogle Scholar
  71. Putnam, L.H. (1978) A general empirical solution to the macro software sizing and estimating problem, in: IEEE Trans. on Softw. Eng. SE 4 p. 345-361 1978.Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. Ramamurthy, B. Melton, A. (1988) A synthesis of software science measures and the cyclomatic number. In: IEEE Trans. on Softw. Eng. SE 14 (8) August p. 1116-1121 1988. Google ScholarGoogle Scholar
  73. Ratcliffe, B. and Rollo, A. (1990) Adapting Function Point analysis to Jackson system development. In: Softw. Eng. J. 5 (1) Special issue on software reliability and metrics, p. 79-84 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. Reynolds, R.G. (1984) Metrics to measure the complexity of partial programs. In: J. of Syst. and Softw. 4(1) p. 75-92 1984. Google ScholarGoogle Scholar
  75. Ross, N. (1989) The collection and use of data for monitoring software projects. In: Proc. Centre for Software Reliability Conf. on Measurement for Softw. Control and Assurance (Eds Kitchenham, B. and Littlewood, B. Bristol U.K. Elsevier p. 125-153 1989.Google ScholarGoogle Scholar
  76. Samson, W.B. Nevill, D.G. and Dugard, P.I. (1987) Predictive software metrics based upon a formal specification. In: Info. and Softw. Tech. 29(5) p. 242-248 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  77. Shen, V.Y. Conte, S.D. Dunsmore, H.E. (1983) Software science revisited: A critical analysis of the theory and its empirical support. In: IEEE Trans. on Softw. Eng. SE 9 (2) March p. 155-165 1983.Google ScholarGoogle Scholar
  78. Shepperd, M.J. (1988) An Evaluation of Software Product Metrics. In: Info. and Softw. Tech. 30 (3) p. 177-188 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  79. Shepperd, M.J. (1991) System architecture metrics: An evaluation. In: Unpublished PhD thesis March 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  80. Symons, C.R. (1988) Function Point Analysis: Difficulties and Improvements. In: IEEE Trans. on Softw. Eng. SE 14 (1) p. 2-11 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  81. Szulewski, P.A. Whitworth, M.H. Buchan, P. Dewolf, J.B. (1981) The measurement of software science parameters in software designs. In: ACM SIGMETRICS P.E.R. p. 89-94 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  82. Weyuker, E.J. (1988) Evaluating software complexity measures. In: IEEE Trans. on Softw. Eng. SE 14 (9) Sept. p. 1357-1365 1988. Google ScholarGoogle Scholar
  83. Whale, G. (1990) Software metrics and plagiarism detection. In: J. Syst. and Softw. 13 (2) 131-138 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  84. Whitty, R. (1989) Structural metrics for Z specifications. In: Proc. 4th Ann. Z Technical and Users Meeting Oxford 14-15 December 1989.Google ScholarGoogle Scholar
  85. Wingrove, A. (1986) The problems of managing software projects. In: Softw. Eng. J. 1 (1) Special issue on Controlling software projects January p. 3-6 1986. Google ScholarGoogle Scholar
  86. Woodfield, S. (1980) Enhanced effort estimation by extending basic programming models to include modularity factors. In: Ph.D. Dissertation Computer Science Dept. Purdue University, 1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  87. Yau, S.S. Collofello, J.S. and MacGregor, T.M. (1978) Ripple effect analysis of software maintenance. In: Proc. COMPSAC '78 p. 60-65 1978.Google ScholarGoogle ScholarCross RefCross Ref
  88. Yin and Winchester (1978) The establishment and use of measures to evaluate the quality of software designs. In: Proc. of the Softw. Quality Assurance Workshop San Diego Calif November 15-17 p. 45-52 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Software metrics and measurement principles

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM SIGSOFT Software Engineering Notes
      ACM SIGSOFT Software Engineering Notes  Volume 19, Issue 1
      Jan. 1994
      67 pages
      ISSN:0163-5948
      DOI:10.1145/181610
      Issue’s Table of Contents

      Copyright © 1994 Author

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 January 1994

      Check for updates

      Qualifiers

      • article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader