“Continuous Bugfixing”. Wie man in einem “10 Mio. Lines of Code Projekt” statische Code-Analyse einführt.
Abstract
Thu 9:50 - 10:35 Uhr | 2012
Statische Code Analyse mit Tools wie FindBugs, PMD oder CheckStyle sind das Mittel der Wahl, um Fehler zu finden, noch bevor der Code ausgeführt wird.
Die Konzepte, die bei mittlerer Projektgröße gut funktionieren, lassen sich aber nicht eins zu eins auf Großprojekte übertragen.
Eines der Hauptprobleme: Sie haben die Tools Ihrer Wahl eingeführt, aber keiner liest die Reports und beachtet die gemeldeten Fehler. Zu viele Informationen, zu viele Falschmeldungen, keine “für das Management geeignete” und übersichtliche Aufbereitung der Reports. Alle Beteiligten “ermüden” und verfolgen die gemeldeten Fehler nicht konsequent.
Im ersten Teil dieser Session werden die Arbeitsweisen, Konzepte und Reporte der führenden OpenSource Tools vorgestellt. Es wird auf die Vor-und Nachteile im Kontext von sehr großen Projekten eingegangen.
Danach wird erläutert, wie statische Codeanalyse in einem Projekt eingeführt wurde, bei dem 10 Millionen Lines of Code analysiert werden. Wie bereitet man die riesige Informationsmenge so auf, dass die Entwickler und Manager die gefundenen Fehler auf einen Blick erkennen und sie dann auch beheben?
Angesprochen werden folgende Konzepte:
- Visualisierung von Fehlern in Großprojekten, Trend-Analysen, Fehler-Landkarten, 3D Visualisierung
- “Vor 1 Woche war die Qualität besser”: Historisierung der Daten,
- “Ich will nur meine Fehler sehen”: Umsetzung eines ” Code-Ownership”-Konzepts,
- Sinn und Unsinn von E-Mail Benachrichtigungen
- Aufbau eines Qualitätskreislaufs : “Ich will informiert werden, wenn neue Fehler gefunden werden”:
- “Checkstyle findet andere Fehler als FindBugs”: Einsatz mehrerer Tools zur Analyse des Codes
- Festlegung des richtigen “Rule-Sets”, dynamische Rule-Sets, Vermeidung von Falschmeldungen,
- Analyse in der IDE versus Analyse beim Build ,
- Integration von JUNIT/CodeCoverage Daten
Die Konzepte werden anhand eines Open Source Projekts und der Werkzeuge Health4J und HUDSON demonstriert.
Die dahinter liegenden Ideen und Erfahrungen lassen sich auch auf andere Umgebungen zur statischen Code-Analyse übertragen.

Jürgen Nicolai
Jürgen Nicolai ist Geschäftsführer der main GmbH mit Sitz in Stuttgart. Herr Nicolai ist seit über 15 Jahren im Java Umfeld als Trainer und Coach tätig.
Die main GmbH unterstützt ihre Kunden mit dem Produkt ‚health4J‘ in den Bereichen statische Code Analyse, Test- und Qualitätsmanagement.