SonarJ 5.0 aims to clear cycles of dependencies

Alex Handy
September 3, 2009 —  Architecture violations are dangerous to projects. On Sept. 15, hello2morrow Inc. released SonarJ 5.0, an architecture analysis tool that can identify sources of divergence by comparing the proposed design of an application with the actual code being checked into repositories.

Also new to version 5.0 are a host of visualizations for analyzing software metrics, added support for the Spring Framework, and wide-ranging performance improvements.

SonarJ allows Java application architects to build a diagram of how their application should work when complete. SonarJ then takes the architectural schematic, as it were, and compares it to the actual code of the project as it is being built. Detecting deviance from the architecture is SonarJ's bread and butter. With version 5.0, SonarJ can offer suggestions for fixing deviations within existing code.

Alexander von Zitzewitz, CEO of hello2morrow, said that SonarJ 5.0 helps application architects maintain control over large projects. “We allow software engineers and architects to define the software in a high level of abstraction, then map that abstraction to the physical codebase and see if they match,” he said.

“Most of our customers are using SonarJ in an existing codebase. There are a lots of tangles and circular dependencies, and the structure [of these applications] has eroded over time, and they want to stop the bleeding.”

Also new to version 5.0, said von Zitzewitz, are additional capabilities around the cycle analyzer, SonarJ can now offer theoretical redistributions of dependencies for applications that would potentially reduce cyclicity.

“The cycle analyzer visualizes all the dependencies, and then it calculates all the potential breakup sets: Where do I need to cut dependencies to improve the overall structure? We try to find breakup sets that require the minimum amount of change and allow for maximum amount of simplicity. We had a cycle analyzer before, but not the breakup and not the visualizer,” said von Zitzewitz.

SonarJ can also now handle much larger projects than previous versions. Von Zitzewitz said it can handle applications that use more than 50,000 classes.

For projects with under 500 classes, or around 20,000 lines of code, SonarJ is free. For larger endeavors, SonarJ costs US$1,000 for a single architect's license, and up to $9,000 for a multi-license pack.

The free version of SonarJ can be had at the company's website.

For the future, von Zitzewitz said that he hopes to add more refactorings to SonarJ. Currently, he said, the tool can perform a few refactorings, but the actual code changes are pushed to Eclipse to perform. He said he hoped the tool would offer more automated code cleaning capabilities in its next release.

Related Search Term(s): SonarJ

Share this link:

SonarJ knows your Java application's Structural Debt Index
Architecture tool matches the models inside developers' heads to the actual structure of Java applications Read More...

News on Monday  more>>
Android Developer News  more>>
SharePoint Tech Report  more>>
Big Data TechReport  more>>



Download Current Issue

Need Back Issues?

Want to subscribe?