Statische Code-Analyse
Bug-Hunting mit Statischer Codeanalyse
Vortrag von Professor Dr. Daniel Fischermit umfassenden Überblick über die verschiedenen Varianten der Statischen Codeanalyse
ESE-Kongress Sindelfingen, 04.12.2013, 11:45-12:25, Track Implementierung
Effizientes Finden von "tickenden Zeitbomben" im Code
Statische Softwaretests zählen zu den analytischen Qualitätssicherungsverfahren. Neben Komplexitätsmetriken, Architektur- und WCET-Analysen stellt insbesondere die Statische Codeanalyse eine effiziente Möglichkeit dar, um Software-Bugs zu finden, welche durch dynamische Testverfahren (White-Box- und Black-Box-Testing) nicht entdeckt wurden. Diese unentdeckten Fehler können wie tickende Zeitbomben angesehen werden, die dann im Wirkbetrieb beim Kunden zu schwerwiegenden Systemausfällen führen und damit immense Kosten verursachen können.Neben den klassischen Rules-Checkern (MISRA, CERT) sind insbesondere Ansätze, die datenfluss- und kontrollflussorientierte Verfahren mit interprozeduraler Analyse kombinieren, in der Praxis einfach und effizient einsetzbar. Durch deren globale Sichtweise werden bisher unentdeckte und teils komplexe Bugs im Programmcode gefunden. Eine einhergehende niedrige False-Positiv-Rate zeichnet dieses Verfahren aus, was letztendlich die Akzeptanz sowohl in der Softwareentwicklung als auch im Management erhöht.
In verschiedenen Phasen des Softwareentwicklungsprozesses kann dieser toolgestützte Ansatz schritthaltend eingesetzt werden, was nachhaltig die Entwicklungs- und Testkosten senkt und die Software-Qualität verbessert.
Anhand von exemplarischen Beispielen wird die Leistungsfähigkeit dieser Vorgehensweise aufgezeigt.
Die Zuhörer erhalten einen umfassenden Überblick über die verschiedenen Varianten der Statischen Codeanalyse. Im Detail wird die Funktionsweise von kontrollfluss- und datenflussorientierten Überprüfungen in Kombination mit interprozeduraler Analyse beschrieben.
Ein Vergleich mit klassischen Rules-Checkern zeigt auf, dass die verschiedenen Varianten der statischen Codeanalyse ergänzend einzusetzen sind.
Anhand von Beispielen wird die Effizienz Statischer Codeanalyse erklärt. Die Zuhörer können diese Erkenntnisse direkt in ihren zukünftigen Projekten umsetzen.
Bug-Hunting mit statischer Codeanalyse(Abstract)
Bug-Hunting mit statischer Codeanalyse(Slide-Präsentation)
- Code Coverage auf allen embedded Targets: Testwell CTC++
- Statische Codeanalyse: CodeSonar®
- Software-Erosion vermeiden: Testwell CMT++
(K. Lambertz, A. Behr, D. Sanny) Alle Besucher unseres Messestandes nehmen an der Verlosung einesSeminars "Testen von Embedded Software" mit Professor Dr. Fischer teil. Der ESE-Kongress in Sindelfingen ist DER Treffpunkt für Entwickler von Embedded-Software in Deutschland. Jetzt anmelden!