Erstaunlicherweise fordert die DIN EN 61508 nirgends explizit die Abwesenheit von Laufzeitfehlern. Dabei stellen Laufzeitfehler, beispielsweise eine Division durch null oder das Dereferenzieren eines Null-Zeigers eine große Gefährdung der Sicherheit im Sinne von „Safety“ dar. Glücklicherweise versuchen praktisch alle statischen Analysewerkzeuge auf mögliche Laufzeitfehler
hinzuweisen, so dass Vorkehrungen gegen solche Fehler getroffen werden können – beispielsweise kann man einen Zeiger vor jeder Verwendung auf seinen Wert prüfen (Bild 5).
Klocwork kann alle im Artikel erwähnten MISRA-Regeln prüfen. Klocwork ist als Support-Werkzeug (Klasse T2) für den Einsatz in sicherheitsgerichteter Software-Entwicklung nach DIN EN 16508-3 (und ISO 26262) vom TÜV SÜD qualifiziert worden. Sollte dieses Zertifikat vom TÜV SÜD nicht ausreichen, steht ein Tool Qualification Package zur Verfügung, mit dem eine weitergehende Qualifizierung vorgenommen werden kann.
Offensichtlich können durch statische Analysewerkzeuge viele Anforderungen der DIN EN 61508 automatisiert geprüft werden. Zum Teil sind es Aufgaben, die ein Mensch nur unter großen Aufwand leisten kann, falls überhaupt. Deshalb ist es dringend anzuraten, statische Analysewerkzeuge einzusetzen, denn dadurch wird Aufwand in großem Umfang eingespart. Allerdings gilt es, gut zu prüfen, ob (und wie gut) ein zum Einsatz vorgesehenes Werkzeug die gewünschten Anforderungen prüft.
Literatur
[1] DIN EN 61508 (VDE 0803): 2011-02: DIN Deutsches Institut für Normung e.V. und VDE Verband der Elektrotechnik, Elektronik, Infromationstechnik e.V. (IEC 61508:2010).
[2] Kan, Stephen H.: Metrics and Models in Software Quality Engineering. Addison-Wesley, Reading, Mass., USA, 1995.
[3] Informationen zu Klocwork: www.hitex.de/klocwork; Informationen zum statischen Analysewerkzeug Klocwork.
[4] MISRA-C:2012: Guidelines for the use of the C language in critical systems, MIRA Limited, Nuneaton, UK, 2013.
Der Autor
Frank Büchner
besitzt ein Diplom in Informatik der Technischen Hochschule Karlsruhe, heute Karlsruhe Institut für Technologie (KIT). Seit mehreren Jahren widmet er sich dem Thema Testen und Software-Qualität. Seine Kenntnisse vermittelt er regelmäßig durch Vorträge und Fachartikel. Momentan arbeitet er als „Principal Engineer Software Quality“ bei Hitex in Karlsruhe.