Dependency Matrix

Master Dependencies Between Components

The Dependency Matrix is the fastest way to understand how the components of your application depend on each other. Rows and columns represent code elements; each cell tells you if — and how strongly — one element uses another.

Dependencies Matrix

The Dependencies Matrix (also known as Dependency Structure Matrix or DSM) provides a compact, matrix-based view of dependencies between all components in your codebase. Each row and column represents a component, and cells indicate the presence and strength of dependencies. This view excels at identifying dependency cycles, unexpected coupling, and layering violations that might be hard to spot in graph form. Blue cells typically show direct dependencies, while red cells highlight cycles.

Dependencies Matrix

Detect Layering Violations

Cells in the upper triangle immediately reveal upward dependencies that break your intended layering. Cyclic dependencies appear as symmetric pairs of cells, making unwanted coupling visible at a glance even on very large codebases.

From Matrix to Code

Click any cell to see exactly which members are involved in the dependency. You can then generate a Code Quest rule from the selection to make sure the violation never comes back.

Try Dependency Matrix with CppDepend

Start your 14-day free trial with full access to all features. No credit card required.