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. It 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. Definition M = E − N + 2P where M = cyclomatic complexity E = the number of edges of the graph N = the number of nodes of the graph P = the number of connected components. "M" is alternatively defined to be one larger than the number of decision points (if/case-statements, while-statements, etc) in a module (function, procedure, chart node, etc.), or more generally a system. Separate subroutines are treated as being independent, disconnected components of the program's control flo...
Comments