SonarJ
Encyclopedia
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 Sonargraphcomputes 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 usually are considered as undesirable.
A accompanying plugin for Eclipse
is intended to help developers to detect architecture violations and other problems while they are editing the code.
Static code analysis
Static program analysis is the analysis of computer software that is performed without actually executing programs built from that software In most cases the analysis is performed on some version of the source code and in the other cases some form of the object code...
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 Sonargraphcomputes a wide range of software metrics
Software metric
A software metric is a measure of some property of a piece of software or its specifications. Since quantitative measurements are essential in all sciences, there is a continuous effort by computer science practitioners and theoreticians to bring similar approaches to software development...
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
Duplicate code
Duplicate code is a computer programming term for a sequence of source code that occurs more than once, either within a program or across different programs owned or maintained by the same entity. Duplicate code is generally considered undesirable for a number of reasons...
, which usually are considered as undesirable.
A accompanying plugin for Eclipse
Eclipse (software)
Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...
is intended to help developers to detect architecture violations and other problems while they are editing the code.