SonarQube

SonarQube (formerly Sonar ) is a platform for Static code analysis of the technical quality of the source code. SonarQube analyzes the source code with respect to different quality areas and presents the results in a Web site dar. SonarQube is programmed itself in Java, but supports not only the analysis of Java programs with the appropriate plugins programming languages ​​Groovy, Flex, PHP, PL / SQL, C #, Cobol. Net and Visual Basic 6

Operation

SonarQube consists of three components:

  • A module for build management tools such as Apache Maven or Apache Ant This analysis (based on other modules ) the source code with respect to different quality characteristics
  • A database in which the test results of the quality analysis is stored
  • A website for the management and evaluation of test results

This architecture is both an examination of the source code on the development machine possible, as well as an integration of SonarQube in the development process by automatically determining the quality metrics on a build server for continuous integration.

SonarQube analyzes the source code with respect to the following quality areas:

  • Software Architecture and Software Design
  • Double code
  • Module tests
  • Complexity
  • Potential errors
  • Coding
  • Comments

The end for the support of Tomcat was scheduled for SonarQube 4.1 ( late October 2013). There the standalone mode is only supported yet. This includes a Tomcat server.

Modular construction and extensions

SonarQube is modular and integrated themselves some well-known development tools for the analysis of code quality. Among PMD and Checkstyle for the detection of duplicate code and testing of coding guidelines, FindBugs to uncover potential errors, as well as Surefire and Cobertura to measure the quality of the module tests.

In addition to displaying the results of the different areas SonarQube allows breaking down (English drill-down ) of the results to the single metric and line of code, as well as the linking of the individual metrics and their historical development.

SonarQube allows a plug-in mechanism to integrate extensions in SonarQube. In addition to the enhancements to the analysis of other programming languages ​​, there are plugins for other metrics, governance, plugins for development environments, visualizations, and integration with other tools and calculation of technical debt.

738085
de