Call for Papers

Evaluierung von Software-Verifikationswerkzeugen ( Vortrag )

Was können und was leisten sie?

Referent: Dr. Ralf Gerlich, Dr. Rainer Gerlich System and Software Engineering
Vortragsreihe: Test & Qualität
Zeit: 01.12.16 15:35-16:15
Co-Referenten: Autoren: Ralf Gerlich, Christian R. Prause, Rainer Gerlich Co-Referenten: Rainer Gerlich

Zielgruppe

Management

Themenbereiche

Test & Qualitätssicherung, Software Engineering Management, Sichere Software

Schwerpunkt

Technologie

Voraussetzungen

Grundlagenwissen

Kurzfassung

Testen und statische Analysewerkzeuge werden zur Verifikation von Software eingesetzt. Ist aber bekannt, wie effizient Fehler in Software damit gefunden werden können? Welche Restrisiken verbleiben? Im Rahmen eines Projektes, das vom DLR Raumfahrtmanagement initiiert wurde, wurden 6 Verifikationswerkzeuge auf ihre Fähigkeiten untersucht, darunter 4 static analyzer, 1 Testwerkzeug, das den Testablauf von der Testfallerzeugung bis zur Berichterstellung automatisiert, und zum Vergleich ein Compiler. Die Werkzeuge wurden auf repräsentative (Raumfahrt-)Software angewendet. Nur Meldungen über Fehler, die zu kritischen Zuständen führen können, wurden berücksichtigt. Das beste Werkzeug fand 60% der (so erkannten) Fehler. Durch Kombination von 2 Tools steigt die Erkennungsrate auf bis zu 80-90% an. Der äußere Eindruck kann über die Fähigkeiten eines Werkzeugs täuschen. Der Vortrag geht auch auf Details und Herausforderungen bei der Evaluierung ein.

Gliederung

1. Begriffsklärung
Klärung der Begriffe fault/error/failure (Fehlerkette), Precision und Sensitivity (Fehlererkennungsmetriken)

2. Evaluierungsmethode
Darstellung des Vorgehens bei der Evaluierung der Werkzeuge. Schwerpunkt wurde auf kritische Fehler gelegt.

3. Werkzeugcharakterisierung
Einordnung der Werkzeuge nach Methoden, Konfigurierbarkeit und Reporting.

4. Lessons learned
Der ursprünglich geplante Ablauf konnte aus verschiedenen Gründen nicht umgesetzt. Diese Gründe und die daraus gezogenen methodischen Konsequenzen werden dargestellt.

5. Ergebnisse
Die Tools werden im direkten Vergleich bzgl. Fehlererkennungsrate, False-Positive-Rate, individuellem Beitrag/Komplementarität sowie ihre Performance in Kombinationen präsentiert.

6. Empfehlungen
Wir geben methodische Empfehlungen für die Auswahl von Werkzeugen anhand von Projektanforderungen.

Nutzen und Besonderheiten

Die Teilnehmer erhalten wesentliche Hinweise zur Planung ihrer Verifikation und zur Minimierung des Restrisikos: Was sollte bei der Werkzeugauswahl beachtet werden? Wie kann die Trefferrate hinsichtlich kritischer Fehler erhöht werden? Auf welchen Strategien basieren die Mechanismen zur Fehlererkennung, und welche Prioritäten werden von den Herstellern gesetzt? Welche theoretischen und praktischen Grenzen hinsichtlich Fehlererkennung sind zu berücksichtigen. Die Ergebnisse des Projektes zeichnen sich aus durch - die konkrete Auswertung der Meldungen hinsichtlich False-Positive-/True-Positive-Status, - die Betrachtung von Fehlererkennungs- und False-Positive-Rate, - die besondere Tiefe der Analyse und des Vergleichs (bspw. unterschiedliche Bewertung bzgl. Kontext), - die Betrachtung von Werkzeugkombinationen, die Auswertung bzgl. Alleinstellungsmerkmalen, und - die Definition von kritischen Fehlertypen.

Über den Referenten

Ralf Gerlich ist Diplom-Informatiker und hat zum Thema "Constraint-basierte Testdatenerzeugung" promoviert. Er verfügt über 20 Jahre Erfahrung in der Softwareentwicklung im Raumfahrtumfeld, mit besonderem Fokus auf systematischen Methoden zur vollständigen Testautomation auf Modell- und auf Codeebene. Dr. Gerlich trägt regelmäßig auf Fachtagungen auch zu diesen Themen vor und ist zudem externer Dozent und Betreuer von Studienarbeiten an der Dualen Hochschule Baden-Württemberg.