Linux / Sound
Conditional Complexity

The distribution of complexity of units (measured with McCabe index).

Intro
  • Conditional complexity (also called cyclomatic complexity) is a term used to measure the complexity of software. The term refers to the number of possible paths through a program function. A higher value ofter means higher maintenance and testing costs (infosecinstitute.com).
  • Conditional complexity is calculated by counting all conditions in the program that can affect the execution path (e.g. if statement, loops, switches, and/or operators, try and catch blocks...).
  • Conditional complexity is measured at the unit level (methods, functions...).
  • Units are classified in four categories based on the measured McCabe index: 1-5 (simple units), 6-10 (medium complex units), 11-25 (complex units), 26+ (very complex units).
Learn more...
Conditional Complexity Overall
  • There are 27,407 units with 599,479 lines of code in units (56.9% of code).
    • 74 very complex units (14,581 lines of code)
    • 227 complex units (27,172 lines of code)
    • 2,051 medium complex units (130,499 lines of code)
    • 3,875 simple units (138,255 lines of code)
    • 21,180 very simple units (288,972 lines of code)
2% | 4% | 21% | 23% | 48%
Legend:
51+
26-50
11-25
6-10
1-5
Alternative Visuals
Conditional Complexity per Extension
51+
26-50
11-25
6-10
1-5
c2% | 4% | 21% | 23% | 48%
h0% | 37% | 0% | 7% | 55%
Conditional Complexity per Logical Component
primary logical decomposition
51+
26-50
11-25
6-10
1-5
soc3% | 4% | 23% | 23% | 45%
pci2% | 5% | 18% | 20% | 53%
core1% | 3% | 26% | 25% | 42%
firewire1% | 1% | 18% | 26% | 52%
isa<1% | 7% | 25% | 21% | 44%
usb0% | 6% | 24% | 25% | 43%
ppc0% | 10% | 15% | 21% | 52%
aoa0% | 8% | 22% | 14% | 55%
drivers0% | 2% | 17% | 21% | 58%
oss0% | 4% | 12% | 50% | 32%
arm0% | 8% | 15% | 25% | 51%
hda0% | 2% | 17% | 21% | 58%
i2c0% | 0% | 25% | 17% | 56%
virtio0% | 0% | 25% | 34% | 39%
xen0% | 0% | 22% | 33% | 43%
x860% | 0% | 25% | 10% | 63%
sparc0% | 0% | 7% | 24% | 67%
pcmcia0% | 0% | 16% | 20% | 62%
atmel0% | 0% | 32% | 32% | 34%
synth0% | 0% | 24% | 5% | 69%
spi0% | 0% | 18% | 25% | 55%
ROOT0% | 0% | 31% | 31% | 37%
mips0% | 0% | 0% | 20% | 79%
sh0% | 0% | 0% | 9% | 90%
ac970% | 0% | 0% | 5% | 94%
Most Complex Units
Top 50 most complex units
Unit# linesMcCabe index# params
767 767 2
634 627 2
502 495 2
406 400 2
398 391 2
361 351 2
329 322 2
329 322 2
286 279 2
270 263 2
263 256 2
261 255 2
251 243 2
240 233 2
220 213 2
218 207 2
210 203 2
202 195 2
170 163 2
159 152 2
159 152 2
158 146 2
151 144 2
152 141 2
146 140 2
149 140 2
146 139 2
139 132 2
131 121 2
118 112 2
118 111 2
332 108 1
118 106 2
221 105 3
115 105 2
111 104 2
102 95 2
96 89 2
98 88 2
415 87 3
85 78 2
269 72 3
78 71 2
194 70 4
77 70 2
77 70 2
75 69 2
76 69 2
74 68 2
109 65 1