Application architecture is significantly different from building architecture. For the person designing the building, the underlying structure can be seen every day as the project progresses. But for application builders, that architecture becomes more obfuscated with new code every day.
SonarJ 6.0, which was released on July 1 by hello2morrow, aims to solve this problem by bringing the underlying architecture of Java applications out into the open.
For development managers looking for a daily starting point, SonarJ 6.0 includes a new dashboard that aggregates metrics from its static analysis of code and shows potential trouble spots.
There’s also a new metric for measuring architectural complexity. Called the “structural debt index,” this metric measures the amount of effort needed to remove structural debt from a project.
Alexander von Zitzewitz, CEO of hello2morrow, said that structural debt is an estimate of the effort needed to clean a project from structural erosion.
“Structural erosion is caused by unwanted dependencies violating architecture rules and cyclic dependencies between packages,” he said. “I observed that, by just looking at cyclic package dependencies, you can get a pretty good estimation of the degree of structural erosion. The structural debt is calculated by calculating how many places in the code would need to be changed to break up all cyclic dependencies.”
Combined with new traffic light icons that signal just how badly convoluted an area of code has become, development managers can see their Java applications as they evolve and increase in complexity.
Further, a new sandbox mode gives the tool the ability to provide a look at how a refactoring would affect the code, revealing architectural problems that would result from such a refactoring without actually touching the code itself.