Dependency Analysis

Dependencies Structure Matrix

IntelliJ IDEA 7 introduces the revolutionary approach to analyzing the dependencies between project classes — the Dependency Structure Matrix (DSM).

Live Demo: Using Dependency Rules

Live Demo: New approach to analyzing project class dependencies

DSM was designed to help analyzing the structure of complex projects, with thousands of Java classes. DSM reflects the real dependencies between classes in a project, showing them sorted in a way that lets you get the overall picture at a glance, and then perform a deep drill-down in just few clicks.

General DSM view

You can quickly focus on any part of the project, to find cyclic dependencies, unused classes and so on. DSM is integrated with advanced code navigation so and enables you to jump directly to the code which requires your attention. A rich set of code refactorings is provided for resolving the problems.

  1. The selection highlights classes which dependencies are being viewed.
  2. The ellipsis in cell indicates there are more than 99 dependencies between maven-core and maven-project.
  3. The column shows the dependencies of the selected row.
  4. The row shows the dependencies on the selected row.
  5. Cell indicates that maven-project has 16 dependencies on maven-settings.
  6. More dependencies - brighter color.

Automatic cyclic dependency detection

Automatic cyclic dependency detection

Multiple cross-class dependencies can be analyzed in one view

Multiple cross-class dependencies analysis

Find usages and with navigation integrated for one-click jumping to the underlying code

Find usages

Analysis of modules, packages, and classes dependencies

Analysis of modules, packages, and classes dependencies

Choose a code piece to analyze (module, package, or even class), and view on what libraries and classes it depends on. With the help of the Dependency Viewer, you can find not only general information about dependencies, but also the certain lines of code where the dependency is established. Read more about dependencies analysis »

Illegal dependencies elimination

Illegal dependencies elimination

You can avoid illegal dependencies in your code by setting up dependencies rules. In this case, the Dependency viewer will highlight illegal dependencies. Moreover, you will get notifications about dependencies rules violation right in the editor. Read more about dependencies rules »

Backward and cyclic dependencies location

IntelliJ IDEA is also capable of analyzing backward and cyclic dependencies. Code analysis can be performed for a separate file, directory, package, module, or entire project.

to the top