SonarQube

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
SonarQube
Logo von SonarQube
SonarQube main dashboard
SonarQube Dashboard
Basisdaten
Entwickler SonarSource
Aktuelle Version 4.51[1]
(29. Oktober 2014)
Betriebssystem plattformunabhängig
Programmier­sprache Java
Kategorie Entwicklungswerkzeug
Lizenz LGPL V3
www.sonarqube.org

SonarQube (ehemals Sonar[2][3]) ist eine Plattform für Statische Code-Analyse der technischen Qualität von Sourcecode. SonarQube analysiert den Sourcecode hinsichtlich verschiedener Qualitätsbereiche und stellt die Ergebnisse in einer Website dar. SonarQube ist selbst in Java programmiert, unterstützt aber neben der Analyse von Java Programmen auch mit entsprechenden Plugins die Programmiersprachen Groovy, Flex, PHP, PL/SQL, C#, Cobol, .Net und Visual Basic 6.

Funktionsweise[Bearbeiten]

SonarQube besteht aus drei Komponenten:

  • Ein Modul für Build-Management-Tools wie Apache Maven oder Apache Ant. Dieses analysiert (basierend auf weiteren Modulen) den Sourcecode hinsichtlich verschiedener Qualitätsmerkmale
  • Eine Datenbank, in der die Testergebnisse der Qualitätsanalyse gespeichert werden
  • Eine Website für das Management und Auswertung der Testergebnisse

Durch diese Architektur ist sowohl eine Prüfung des Sourcecodes auf dem Entwicklungsrechner möglich, als auch eine Einbindung von SonarQube in den Entwicklungsprozess durch eine automatische Ermittlung der Qualitätsmetriken auf einem Build-Server für die Kontinuierliche Integration.

SonarQube analysiert den Sourcecode hinsichtlich folgender Qualitätsbereiche:

Das Ende für die Unterstützung von Tomcat war für SonarQube 4.1 (Ende Oktober 2013) geplant. Es wird nur noch der Standalone-Modus unterstützt. Dieser beinhaltet einen Tomcat Server. [4]

Modularer Aufbau und Erweiterungen[Bearbeiten]

SonarQube ist modular aufgebaut und integriert selbst einige bekannte Entwicklungswerkzeuge zur Analyse der Codequalität. Darunter PMD und Checkstyle für die Erkennung von doppeltem Code und Prüfung von Kodierrichtlinien, FindBugs zum Aufdecken potentieller Fehler, sowie Surefire und Cobertura zur Messung der Qualität der Modultests.

Neben der Anzeige der Ergebnisse der einzelnen Bereiche ermöglicht SonarQube das Herunterbrechen (engl. drill-down) der Ergebnisse bis auf die einzelne Metrik und Codezeile, sowie die Verknüpfung der einzelnen Metriken und ihre historische Entwicklung.

SonarQube ermöglicht über einen Plugin-Mechanismus Erweiterungen in SonarQube zu integrieren. Neben den Erweiterungen für die Analyse weiterer Programmiersprachen gibt es noch Plugins für weitere Metriken, Governance, Plugins für Entwicklungsumgebungen, Visualisierungen, Integration mit und in andere Tools und Berechnung der technischen Schuld[5].

Literatur[Bearbeiten]

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. Downloads
  2. SONAR is becoming SONARQUBE SonarQube project mailing list
  3. Homepage
  4. Ansage zum Supportende für Tomcat
  5. Technical Debt Evaluation (SQALE) - SonarSource