Abstract
Two well-publicized program complexity measures are software science and cyclomatic complexity. Three areas where these measures do not always follow our intuitive notions of complexity are: structured vs unstructured programs, nested vs sequential predicates, and the use of case statements. This paper defines a nesting level complexity measure that punishes unstructuredness, and the nesting of predicates, and rewards the use of case statements. Examples are given where the nesting level complexity agrees with intuitive rankings of program structures where software science, cyclomatic complexity, and their suggested refinements do not.
- Christensen K.; Fitsos G. P.; Smith C. P.; "A Perspective on Software Science" IBM Systems Journal 20-4 (1981), 372--387Google ScholarDigital Library
- Elshoff J. L. "An Investigation into the Effects of the Counting Method Used on Software science Measurements, "ACM SIGPLAN Notices 13, 2, Feb. 1978, 30--45 Google ScholarDigital Library
- Fitsimmons A.; and Love T. "A Review and Evaluation of Software science" ACM Computing Surveys 10, 1, Mar. 1978, 3--18 Google ScholarDigital Library
- Fitsos G. P. "Software Science Counting Rules and Tuning Methodology," IBM Tech. Report TR 03.075, Sep. 1979Google Scholar
- Halstead, M. H. "Elements of Software Science" Elsevier North-Holland Inc, N. Y., 1977 Google ScholarDigital Library
- Hansen, W. J. "Measurement of Program Complexity by the Pair (Cyclomatic Number, Operator Count)," ACM SIGPLAN Notices 13, 3, March 1978, 29--33 Google ScholarDigital Library
- Harrison W. A.; and Magel K. I. "A Complexity Measure Based on Nesting Level," ACM SIGPLAN Notices 16, 3 March 1981, 63--74 Google ScholarDigital Library
- Harrison W. A.; and Magel K. I. "A Topological Analysis of the Complexity of Computer Programs with Less Than Three Binary Branches," ACM SIGPLAN Notices 16, 4 April 1981, 51--63 Google ScholarDigital Library
- McCabe T. J. "A Complexity Measure," IEEE Trans. Software Eng. SE-2, 4 December 1976, 308--320Google ScholarDigital Library
- Myers G. J. "An Extension to the Cyclomatic Measure," ACM SIGPLAN Notices 12, 10 October 1977, 61--64 Google ScholarDigital Library
- Ottenstein K. J. "A Program to Count Operators and Operands for ANSI-Fortran Modules," IBM Tech. Report CSD-TR-196, June 1976Google Scholar
- Oulsnam G. "Cyclomatic Numbers Do Not Measure Complexity of Unstructured Programs," Inf. Process. Let. 9, 5 December 1979, 207--211Google ScholarCross Ref
Recommendations
A complexity measure based on selection and nesting
Many concepts concerning the quantification of program complexity have been developed during the last few years. One of the most accepted and easy-to-apply complexity measures, McCabe's cyclomatic number, has been discussed and improved in several ...
A Complexity Measure
This paper describes a graph-theoretic complexity measure and illustrates how it can be used to manage and control program complexity. The paper first explains how the graph-theory concepts apply and gives an intuitive explanation of the graph concepts ...
A measure of logical complexity of programs
The research in software science has so far been concentrated on three measures of program complexity: (a) software effort; (b) cyclomatic complexity; and (c) program knots. In this paper we propose a measure of the logical complexity of programs in ...
Comments