Software Quality Journal

, Volume 3, Issue 4, pp 253–269 | Cite as

The theoretical extension of two versions of cyclomatic complexity to multiple entrylexit modules

  • B. Henderson-Sellers
  • D. Tegarden
Papers

Abstract

Two versions of cyclomatic complexity are reanalysed and evaluated theoretically for cases of (a) modularization to eliminate duplicate code, (b) multiple entry, single exit modules, (c) single entry, multiple exit modules and (d) multiple entry, multiple exit modules. It is found that one version is focused on module-level testing whilst the other is more appropriate for system-level, integration testing.

Keywords

cyclomatic complexity multiple entry/exit single entry/exit 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Baker, A.L. and Zweben, S.H. (1980) A comparison of measures of control flow complexity. IEEE Transactions of Software Engineering, 6(6), 506–512.Google Scholar
  2. Baker, A.L., Bieman, J.M., Fenton, N., Gustafson, D.A., Melton, A. and Whitty, R. (1990) A philosophy for software measurement. Journal of Systems Softwares, 12, 277–281.CrossRefGoogle Scholar
  3. Basili, V.R. and Rombach, H.D. (1988) The TAME project: towards improvement-orientated software environments. IEEE Transactions of Software Engineers, 14(6), 758–773.CrossRefGoogle Scholar
  4. Berge, C. (1985) Graphs, 2nd edn (North-Holland, Amsterdam).Google Scholar
  5. Bollobás, B. (1979) Graph Theory. An Introductory Course (Springer-Verlag, New York).Google Scholar
  6. Card, D.N. and Glass, R.L. (1990) Measuring Software Design Quality (Prentice Hall, Englewood Cliffs, NJ).Google Scholar
  7. Conte, S.D., Dunsmore, H.E. and Shen, V.Y. (1986) Software Engineering Metrics and Models (Benjamin/Cummings, Menlo Park, CA).Google Scholar
  8. Curtis, B. (1979) In search of software complexity, in Workshop on Quantitative Software Models, IEEE, New York, pp. 95–106.Google Scholar
  9. Davis, J.S. (1984) Chunks: a basis for complexity measurement. Information Processing and Management, 20(1), 119–127.CrossRefGoogle Scholar
  10. Deo, N. (1974) Graph Theory with Applications in Engineering and Computer Science (Prentice-Hall, Englewood Cliffs, NJ).Google Scholar
  11. Evanglist, M. (1984) An analysis of control flow complexity. COMPSAC 84, (CS Press, Los Alamitos, CA) 388–396.Google Scholar
  12. Feghali, I. and Watson, A.H. (1994) Clarification concerning modularization and McCabe's cyclomatic complexity. Communications of the ACM, 37(4), 91–92.Google Scholar
  13. Fenton, N.E. (1991) Software Metrics: A Rigorous Approach (Chapman and Hall, London).Google Scholar
  14. Fenton, N.E. (1994) Software assessment: a necessary scientific basis. IEEE Transactions of Software Engineering, 20(3), 199–206.CrossRefGoogle Scholar
  15. Fenton, N.E. and Kaposi, A.A. (1987) Metrics and software structure. Information and Software Technology, 29(6), 301–320.CrossRefGoogle Scholar
  16. Hall, N.R. and Preiser, S. (1984) Combined network complexity measures. IBM Journal of Research and Development, 28(1), 15–27.Google Scholar
  17. Harary, F. (1969) Graph Theory (Addison-Wesley, Reading, MA).Google Scholar
  18. Harrison, W.A. (1984) Applying McCabe's complexity measure to multiple-exit programs. Software-Practice and Experience, 14(10), 1004–1007.Google Scholar
  19. Henderson-Sellers, B. (1992) Modularization and McCabe's cyclomatic complexity. Communications of the ACM, 35(12), 17–19.Google Scholar
  20. Henderson-Sellers, B. and Tegarden, D. (1994) Response to ‘clarification concerning modularization and McCabe's cyclomatic complexity’. Communications of the ACM, 37(4), 92–94.Google Scholar
  21. Ince, D. (1990) Software metrics an introduction. Information and Software Technology, 32, 297–303.CrossRefGoogle Scholar
  22. Kearney, J.K., Sedlmeyer, R.L., Thompson, W.B., Gray, M.A. and Adler, M.A. (1986). Software complexity measurement. Communications of the ACM, 29(11), 1044–1050.CrossRefGoogle Scholar
  23. Kitchenham, B.A. and Linkman, S.J. (1990) Design metrics in practice. Information and Software Technology, 32(4), 304–310.CrossRefGoogle Scholar
  24. Lewis, J. and Henry, S. (1989) A methodology for integrating maintainability using software metrics, in Proceedings of the Conference on Software Maintenance, Miami, FL 16–19 October, pp. 32–39.Google Scholar
  25. McCabe, T. (1976) A complexity measure. IEEE Transactions of Software Engineering, 2(4), 308–320.Google Scholar
  26. McCabe, T.J. and Butler, C.W. (1989) Design complexity measurement and testing. Communications of the ACM, 32(12), 1415–1425.CrossRefGoogle Scholar
  27. Sagri, M.M. (1989) Rated and operating complexity of program-an extension to McCabe's theory of complexity measure. SIGPLAN Notices, 24(8), 8–12..Google Scholar
  28. Shepperd, M. (1988) A critique of cyclomatic complexity as a software metric. Software Engineering Journal, 3, 30–36.Google Scholar
  29. Stark, G., Shooman, M. and Packer, R. (1991) Experience with complexity metrics for coding standards, Proceedings of the 1991 Annual Oregon Workshop on Software Metrics, Silver Falls, Oregon, 17–19 March.Google Scholar
  30. Szentes, J. and Gras, J. (1986) Some practical views of software complexity metrics and a universal measurement tool, in First Australian Software Engineering Conference (ASWEC), Canberra, 14–16 May.Google Scholar
  31. Tutte, W.T. (1966) Connectivity in Graphs (University of Toronto Press/Oxford University Press).Google Scholar
  32. Weyuker, E.J. (1988) Evaluating software complexity measures. IEEE Transactions of Software Engineering, 14(9), 1357–1365.CrossRefGoogle Scholar
  33. Wilson, R.J. (1985) Introduction to Graph Theory, 3rd edn (Longman Scientific & Technical, Harlow, Essex).Google Scholar
  34. Zuse, H. (1990) Software Complexity: Measures and Methods (Walter de Gruyter, Berlin).Google Scholar

Copyright information

© Chapman & Hall 1994

Authors and Affiliations

  • B. Henderson-Sellers
    • 1
  • D. Tegarden
    • 2
  1. 1.School of Computing SciencesUniversity of TechnologySydneyAustralia
  2. 2.Department of Information SystemsCalifornia State University at San BernardinoUSA
  3. 3.School of Computing SciencesUniversity of TechnologySydneyAustralia

Personalised recommendations