SonarQube

from Wikipedia, the free encyclopedia
SonarQube

Sonarqube-48x200.png
SonarQube main dashboard
SonarQube dashboard
Basic data

developer SonarSource
Current  version 8.2
( February 26, 2020 )
operating system Linux , Microsoft Windows , macOS
programming language Java
category Development tool
License GNU Lesser General Public License
www.sonarqube.org

SonarQube (formerly Sonar ) is a platform for the static analysis and evaluation of the technical quality of source code . SonarQube analyzes the source code with regard to different quality areas and presents the results on a website . SonarQube itself is programmed in Java , but in addition to the analysis of Java programs with corresponding plugins , it supports the programming languages JavaScript , Groovy , Flex , PHP , PL / SQL , C # , Cobol , .NET and Visual Basic 6 .

functionality

SonarQube consists of three components:

  • A module for build management tools like Apache Maven or Apache Ant . This analyzes (based on other modules) the source code with regard to various quality features.
  • A database in which the results of the quality analysis are stored.
  • A website for the management and evaluation of the results.

This architecture makes it possible to check the source code on the development computer as well as to integrate SonarQube into the development process and to determine the quality metrics on a build server for continuous integration .

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

The end for Tomcat support was planned for SonarQube 4.1 (late October 2013). Only the standalone mode is supported. This includes a Tomcat server.

Modular structure and extensions

SonarQube has a modular structure and integrates some well-known development tools for analyzing code quality, including PMD and Checkstyle for detecting duplicate code and checking coding guidelines , FindBugs for detecting potential errors, and Surefire and Cobertura for measuring the quality of module tests.

In addition to displaying the results of the individual areas, SonarQube enables the results to be broken down ( drill-down ) down to the individual metric and line of code as well as the linking of the individual metrics and the presentation of their historical development.

SonarQube enables extensions to be integrated via a plug-in mechanism. In addition to the extensions for the analysis of additional programming languages, there are plugins for additional metrics, governance, interfaces to development environments , visualizations, integration and for calculating the technical debt .

literature

  • Brian Chaplin: Use Sonar to Develop a Quality Feedback Loop into the Build Cycle . Ed .: TheServerSide.com. June 29, 2010 (English, theserverside.com [accessed July 18, 2010]).
  • G. Ann Campbell and Patroklos P. Papapetrou: SonarQube in Action . Ed .: www.manning.com. October 2013 (English, manning.com ).

Web links

Commons : SonarQube  - collection of images, videos and audio files

Individual evidence

  1. SonarQube 8.2 . February 26, 2020.
  2. SONAR is becoming the SONARQUBE SonarQube project mailing list
  3. Homepage
  4. Multi-Language | SonarQube. Retrieved November 25, 2017 .
  5. Announcement of the end of support for Tomcat
  6. Technical Debt Evaluation (SQALE) - SonarSource ( Memento from April 26, 2012 in the Internet Archive )