- Sonar (Entwicklungswerkzeug)
-
Sonar
Sonar DashboardBasisdaten Aktuelle Version 2.10
(18. August 2011)Betriebssystem plattformunabhängig Programmiersprache Java Kategorie Entwicklungswerkzeug Lizenz LGPL V3 sonar.codehaus.org Sonar ist eine Plattform für Statische Code-Analyse der technischen Qualität von Sourcecode. Sonar analysiert den Sourcecode hinsichtlich verschiedener Qualitätsbereiche und stellt die Ergebnisse in einer Website dar. Sonar ist selbst in Java programmiert, unterstützt aber neben der Analyse von Java Programmen auch mit entsprechenden Plugins die Programmiersprachen Flex, PHP, PL/SQL, Cobol, .Net und Visual Basic 6.
Inhaltsverzeichnis
Funktionsweise
Sonar 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 Sonar in den Entwicklungsprozess durch eine automatische Ermittlung der Qualitätsmetriken auf einem Build-Server für die Kontinuierliche Integration.
Sonar analysiert den Sourcecode hinsichtlich folgender Qualitätsbereiche:
- Softwarearchitektur & Softwaredesign
- Doppelter Code
- Modultests
- Komplexität
- Potentielle Fehler
- Kodierrichtlinien
- Kommentare
Modularer Aufbau und Erweiterungen
Sonar ist selbst modular aufgebaut und integriert selbst einige bekannte Entwicklungswerkzeuge zur Analyse der Codequalität. Darunter PMD (Software) 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 Sonar das Herunterbrechen (engl. drill-down) der Ergebnisse bis auf die einzelne Metrik und Zeile Code, sowie die historische Darstellung der Metriken und die Verknüpfung der einzelnen Metriken.
Sonar ermöglicht über einen Plugin-Mechanismus Erweiterungen in Sonar 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, sowie Integration mit und in andere Tools.
Literatur
- Brian Chaplin; TheServerSide.com (Hrsg.): Use Sonar to Develop a Quality Feedback Loop into the Build Cycle. 29. Juni 2010 (http://www.theserverside.com/tutorial/Use-Sonar-to-Develop-a-Quality-Feedback-Loop-into-the-Build-Cycle, abgerufen am 18. Juli 2010).
Weblinks
- Sonar Website
- Sonar Beispiele mit einer Analyse diverser open source Software, darunter auch Sonar selbst
Kategorien:- Java-Programmierwerkzeug
- Freies Programmierwerkzeug
Wikimedia Foundation.