HomeComputer ScienceCyclomatic Complexity Explorer

Cyclomatic Complexity Explorer

Build a control-flow graph by adding IF branches, LOOPs and SWITCH statements, and watch McCabe's Cyclomatic Complexity M = E - N + 2 update live in an interactive 3D graph — the exact metric linters like ESLint, SonarQube and Android Lint flag as a maintainability risk.

Computer Science3DModerate60 FPS📱 Mobile-adapted
mobile-code-quality-linting ↗ Open standalone

Every static-analysis linter — ESLint, SonarQube, Android Lint, Detekt — flags functions once their control-flow graph gets too tangled, and the number they check is McCabe's Cyclomatic Complexity: M = E − N + 2, the count of edges minus nodes in the function's graph plus two. This simulator lets you build that graph construct by construct — straight-line statements, IF/ELSE branches, LOOPs with back-edges, and multi-way SWITCH statements — and renders it live as a 3D control-flow graph while every metric a linter would report (node count, edge count, decision points, minimum test paths, and M itself) updates in real time against a configurable lint threshold, exactly the rule a CI pipeline runs on every commit.

⚙ Under the hood

Build a control-flow graph out of IF/ELSE branches, LOOPs and SWITCH statements and watch McCabe's Cyclomatic Complexity (M = E − N + 2) update live in an interactive 3D graph against a configurable linter threshold.

code qualitystatic analysislintingcontrol flow graphsoftware metricsalgorithms

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)