Cited by 6,059Software Engineering ResearchSoftware Reliability and Analysis ResearchLogic, programming, and type systems

A Complexity Measure

McCabe, T.J.·1976·IEEE Transactions on Software Engineering

Abstract

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 in programming terms. The control graphs of several actual Fortran programs are then presented to illustrate the correlation between intuitive complexity and the graph-theoretic complexity. Several properties of the graph-theoretic complexity are then proved which show, for example, that complexity is independent of physical size (adding or subtracting functional statements leaves complexity unchanged) and complexity depends only on the decision structure of a program.

Integrity signals

Registry

Crossref · 10.1109/tse.1976.233837

Cites

7 of 7 references verified0 citation errors · 0 not checkable

Statistics

Recomputing p-values needs the paper’s full text.

Claims the paper makes

This paper’s full text isn’t openly available, so its claims and self-check weren’t run. The registry and citation checks still apply.

Claims other papers make about this one

Each is checked against this paper’s own text: does it say what the citing paper says it does?

  • Cyclomatic complexity is a software complexity measure based on the decision structure of code.

    “Cyclomatic complexity is a software complexity measure that is based on the decision structure of the code (McCabe, 1976).”
  • McCabe's cyclomatic complexity was used to measure code complexity.

    “The complexity of the source code was measured using cyclomatic complexity, as introduced by Thomas J. McCabe (McCabe, 1976).”
  • The study measured code complexity using two standard proxies: source lines of code (SLOC) and McCabe's cyclomatic complexity (CC).

    “We measure two standard proxies for code complexity of the Python programs produced by our study participants in each of their assigned tasks, i.e., the number of source lines of code (SLOC) and McCabe's cyclomatic complexity (CC), a measure of the number of linearly independent paths through a program's source code [75]”

Cites

Flagged first, then by citations

Cited by

Sorted by citations

Authors
McCabe, T. J.
Affiliations
National Security Agency (US)
Corresponding author
McCabe, T.J.
Venue
IEEE Transactions on Software Engineering
Published
1976-12
Volume
SE-2
Issue
4
Pages
308-320
ISSN
  • 0098-5589 (ISSN-L)
  • 1939-3520
  • 2326-3881
OpenAlex
W1964962870
Cited by
6,059
References
7
Citations by year
2026: 210 · 2025: 189 · 2024: 177 · 2023: 203 · 2022: 175 · 2021: 227 · 2020: 244 · 2019: 312 · 2018: 232 · 2017: 220 · 2016: 262 · 2015: 250 · 2014: 233 · 2013: 248 · 2012: 249
FWCI
146.40
Type
journal article
Language
en
Open access
closed
Locations
IEEE Transactions on Software Engineering (publishedVersion)
Topics
  • Physical Sciences › Computer Science › Information Systems › Software Engineering Research
  • Physical Sciences › Computer Science › Software › Software Reliability and Analysis Research
  • Physical Sciences › Computer Science › Artificial Intelligence › Logic, programming, and type systems
Keywords
software complexity, control flow graph, FORTRAN program, decision structure, control flow, complexity measures

About these checks

Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.

Statistics and arithmetic are recomputed, not judged.

Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.

What counts as a claim ›How we measure confidence ›How we check this ›

Are you an author, or do you see a problem with this page? Request a review