Rule-Based Defect Identification
SonarSource products come with thousands of pre-defined rules for defect identification, ranging from simple naming conventions to complex anti-pattern detection. These coding rules are tightly integrated with best-of-breed tools like Checkstyle, PMD, Findbugs, PHPDepend, FlexPMD and others and include all common checks, such as those for code duplications, issues, complexity detection and coverage.
SonarSource products have a unique mechanism to track issues raised against coding rules. This mechanism uses an advanced algorithm to determine whether an issue is new or pre-existing in previous versions of the software. Based on the issue creation date, it becomes possible to make comparisons with pre-defined baselines of the software, such as the date, period, version and more.
Configurable Quality Profiles
The SonarQube platform’s rule-based framework is highly customizable and makes it possible to create rulesets that provide the right level of analysis depending on the type of project (Web application, batch, library, …) and the quality objectives. This flexibility makes it possible to easily add support for enterprise- or project-specific use cases by avoiding the unnecessary noise that could be generated by un-adapted rules.
Unit Test Inspection
The SonarQube platform can inspect and validate the quality of unit tests, as well as enforce coding standards across unit tests to ensure consistency and readability. It also supports raising of manual issues in unit tests. The SonarQube platform currently provides unit test inspection rules for Java, with rules for other languages in development.