Sonar, the enterprise Open Source platform to manage Java code quality, provides its own source analyser in version 1.9.
The main functionality of this new version consists in the replacement of famous JavaNCSS by a new engine for static analysis: sonar-squid. Not only does the new engine fix many Java5 parsing errors but it has direct impacts on several metrics such as lines of code, complexity, comments, duplications… It enables as well to uncover some new axes of analysis.
Sonar now separates the analysis of functional methods from the technical ones (accessors aka getters and setters). This is a major improvement, especially when measuring the complexity as it enables to focus better on the "real" complexity (business logic) by removing the noise generated by accessors that sometimes seriously distord measures.
Two new axes of analysis have appeared in Sonar : undocumented APIs that reveals whether public API are being documented with Javadoc and Comments that are much sharper since sonar-squid ignores license header lines and blank lines comments.
Obviously, all this has an impact on historical data and trends are going to be shaken by those improvements. It is recommended to read the article Why you should (not?) upgrade to Sonar 1.9
before upgrading (or not :-)) to Sonar 1.9.
On top of those major improvements, the dashboard now integrates a new graph showing methods complexity distribution, Sonar now supportPostgreSQL and performances have been greatly improved.
Here are links to find out more about Sonar :
• Sonar web site
• Sonar in action
• Download Sonar