Cyclomatic complexity is a software metric (measurement). It was
developed by Thomas McCabe and is used to measure the complexity of a program.
It directly measures the number of linearly independent paths through a
program's source code.
The concept, although not the method, is somewhat similar to that of general
text complexity measured by the Flesch-Kincaid Readability Test.
Cyclomatic complexity is computed using a graph that describes the control
flow of the program. The nodes of the graph correspond to the commands of a
program. A directed edge connects two nodes if the second command might be
executed immediately after the first command.