Reflections on McCabe’s Cyclomatic Complexity
Dennis Kafura · IEEE Transactions on Software Engineering · 2025
This paper reflects on the 1976 paper by Thomas McCabe that defined the cyclomatic complexity of computer programs. The reflection first describes the context in which the paper was written and the relevance of the paper to issues of the period. Second, the cyclomatic complexity metric is described and illustrated. Third, the impact of cyclomatic complexity is reviewed: in directly related areas the impact is deep, highly visible and time-tested; in adjacent areas there is a clear influence of McCabe’s work; in software engineering as a whole there is a lasting legacy. A short interview with and a biography of Thomas McCabe are given.