Live briefing
Everything about Cyclomatic complexity
Measure of the structural complexity of a software program
Cyclomatic complexity is a software metric used to indicate the complexity of a program. It is a quantitative measure of the number of linearly independent paths through a program's source code. It was developed by Thomas J. McCabe, Sr. in 1976. Wikipedia →
đź§ Start here: a 6-step reading path
- Read the overview: Cyclomatic complexityA 5-minute orientation
- Skim a recent paper: Reflections on McCabe’s Cyclomatic ComplexityInfluential work since 2022
- Pick up a classic book: Software EngineeringThe most-reprinted book on the subject
- Read the landmark paper: A critique of cyclomatic complexity as a software metricCited 176 times
- Go sideways: Essential complexityA closely related topic
- Go sideways: Basis path testingA closely related topic
đź“– Definitions
Noun A quantitative measure of the number of linearly independent paths (branches) through a program's source code which indicates the complexity of a program or a function.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
A critique of cyclomatic complexity as a software metric
Cyclomatic complexity density and software maintenance productivity
Cyclomatic Complexity
An extension to the cyclomatic measure of program complexity
Cyclomatic Complexity and Lines of Code: Empirical Evidence of a Stable Linear Relationship
Cyclomatic complexity and the year 2000
Cyclomatic complexity metric for component based software
On the use of the cyclomatic number to measure program complexity
🆕 Influential since 2022
Reflections on McCabe’s Cyclomatic Complexity
Measuring Cyclomatic Complexity of Source Code Using Machine Learning
RANCANG BANGUN PERANGKAT LUNAK PERHITUNGAN METRIK CYCLOMATIC COMPLEXITY BERDASARKAN CONTROL FLOW GRAPH BERBASIS WEB
Cyclomatic Complexity dan Graph Matrix dalam Pengujian Sistem Informasi Manajemen Rumah Sakit
PENDEKATAN UNTUK AUTOMATISASI PEMBUATAN FLOWGRAPH DAN CYCLOMATIC COMPLEXITY DARI SOURCE CODE GOLANG
📚 Books worth reading
Software EngineeringRoger S. Pressman, Bruce Maxim · 1982- 📕Structured testingThomas J. McCabe · 1982
- 📕Structured testingThomas J. McCabe · 1982
An integrated approach to software engineeringP. Jalote · 1991
Cyclomatic complexity metrics revisitedGeoffrey K. Gill · 1990- 📕Structured testingArthur Henry Watson · 1996
- 📕Structured testingArthur Henry Watson, Dolores R. Wallace · 1996
Software metrics and software metrologyAlain Abran · 2010
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
đź”— Related topics
- Essential complexity Essential complexity is a numerical measure defined by Thomas J. McCabe, Sr., in his highly cited, 1976 paper better known for introducing cyclomatic complexity…
- Basis path testing In software engineering, basis path testing, or structured testing, is a white box method for designing test cases. The method analyzes the control-flow…
- Decision-to-decision path A decision-to-decision path, or DD-path, is a path of execution (usually through a flow graph representing a program, such as a flow chart) between two…
- Single-entry single-exit Single-Entry Single-Exit (SESE) regions are a fundamental concept in structured programming and control-flow analysis. A SESE region is a portion of a…
- Structured program theorem In programming language theory, the structured program theorem, generally called the Böhm–Jacopini theorem, states that a class of control-flow graphs…
- Control-flow graph In computer science, a control-flow graph (CFG) is a representation, using graph notation, of all paths that might be traversed through a function during…
- Software defect indicator A Software defect indicator is a pattern that can be found in source code that is strongly correlated with a software defect, an error or omission in the…
- Code coverage In software engineering, code coverage, also called test coverage, is a percentage measure of the degree to which the source code of a program is executed…