Find the word definition

Wikipedia
Sonargraph

Sonargraph is a commercial tool for static code analysis of software written in Java. By parsing the compiled classes and the source code it builds an in memory dependency and metrics model of the analyzed code. The model dependencies can then be visualized graphically so that the user is able to understand the structure of the system. Moreover, the tool allows the definition of a logical architecture model (intended structure of the software) and map it to the code. By comparing the logical model with the real dependency structure SonarJ finds and list all architecture violations (deviations from the intended structure).

Moreover, Sonargraph computes a wide range of software metrics that help the user to pinpoint problematic code sections and to estimate the overall technical quality of his project. It also helps with finding duplicated blocks of code, which are usually considered undesirable.

An accompanying plugin for Eclipse is intended to help developers to detect architecture violations and other problems while they are editing the code.