Latest News
hello2morrow Launches Community Edition of SonarJ
Most Java projects can now use SonarJ for free
Overview
Do you know whether or not your source code matches the architecture of your system? SonarJ is a software architecture management tool for systems written in Java and is based on static analysis. The award winning tool is light weight, non-intrusive and lightning fast. No repository is needed. Everything happens in memory. Nevertheless SonarJ can be used to analyze very large systems with several million lines of code. It fits in ideally in agile as well as more traditional development processes.
SonarJ helps you to find deviations between he architecture and the code within minutes. It can be integrated into your IDE to help you avoid the introduction of new architetural violations to your code base. You can also use it to maintain metric based software quality rules which will keep complexity under control.
For projects with up to 500 classes (50 to 60 KLOC) SonarJ can be used free of charge.
There are several main use cases for SonarJ:
-
You want your development team to achieve better results with less effort
:
A main reason for problems in non-trivial software systems is the structural erosion of code which is unavoidable when more than two people work on a medium to large code base. To fight structural erosion you use SonarJ to define a logical architecture (structure of your system) and some guidelines. These definitions are then distributed to the development team (as an XML file). The developers use either the SonarJ Eclipse plugin (SonarClipse) or the stand-alone version of the product, which integrates in every development environment.
Every code change is now monitored by SonarJ. The developer is warned as soon as an architecture or quality violation occurs. The tool provides all the information needed by the developer to fix the problem before it becomes visible for the rest of the team. This results in a sofware system that is far easier to comprehend, to maintain and to test. Moreover the productive lifetime of your system will be significantly enhanced, which in turn greatly improves the return on investment for your system.
SonarJ also implements a simple workflow concept that can assign fixes to developers and monitor the progress. The work items can be synchronized with any issue tracking system.
If you start using SonarJ on an existing code base you can filter old problems so that you are not overwhelmed by error or warning markers. Virtual refactoring allows you to simulate the effect of refactorings without touching your code. SonarClipse later allows you to delegate the execution of virtual refactorings to Eclipse.
-
You want to understand and refactor the structure of an existing system
:
SonarJ can visualize the dependency structure of any system in a powerful way. Structural problems can be identified and tracked down to the source level within minutes. Virtual refactorings allow you to simulate refactorings before they are actually performed in the IDE.
-
You want to check the technical quality of a software delivery
:
SonarJ helps you to quicly analyze a software system written in Java. You can find complex code, dependency cycles and other potential problems even without defining architecture rules. As soon as you add architecture rules, you can rapidly check for architecture violations. This assessment can even be done without access to the source code. A jar file containing the system to be analyzed is sufficient.
The approach of SonarJ is absolutely unique on the market. It is light-weight and easy to use. It can be integrated with ANT, Maven and Eclipse and it helps you to avoid the well-known effect of structural erosion. Without any extra overhead you can now make sure that your logical architecture is implemented as planned.
Curious? You can download SonarJ and test it free of charge for 30 days. You can join a free online training session to help you get up to speed more easily. Or you can have a look at our online tutorials, which are a great starting point to learn more about SonarJ.
SonarJ is working for Java software systems. If you are looking for an architecture analysis tool for C/C++ or C# systems please see our product Sotoarc.