一个程式执行后会立刻执行另一程式码，会有边连结二程式码对应的节点。圈复杂度可应用在程式的子程序、模组、方法或类别。麦凯布首先提出一种称为「基础路径测试」（Basis Path Testing）的软体测试方式，是测试程式中的每一线性独立路径，此情形的测试用例个数即为程式的循环复杂度。「循环复杂度」的名称有时会让人误解，因为此复杂度不只计算程式中的回圈（循环）个数。循环复杂度是指程式的控制流图中，若将结束点到启始点再增加一个边时，控制流图中的圈（几个边形成封闭路径）的个数。
原理