Von Qualität zu Compliance
Statische Analyse, Unit-Tests, Abdeckungsmessung und kontinuierliche Überwachung dienen gleichzeitig zwei Zwecken: Sie verbessern die Softwarequalität und generieren Nachweise zur Einhaltung der Vorschriften. Fehler werden frühzeitig erkannt, und der Quellcode bleibt in einem definierten, auditierbaren Zustand. Die Ergebnisse, darunter Nachweise zur Anforderungsrückverfolgbarkeit (Traceability), Coverage-Daten zur strukturellen Abdeckung sowie Nachweise zur Tool-Qualifikation, erfüllen die Vorgaben der Normen ISO 26262, DO-178C, IEC 61508 und IEC 62304.
Was die Normen tatsächlich vorschreiben
Obwohl jede Norm ihre eigene Struktur und Terminologie hat, basieren sie doch auf gemeinsamen Anforderungen.
- Anforderungsbasiertes Testen: Jeder Test muss auf eine spezifische Anforderung zurückverfolgbar sein. Tests ohne Rückverfolgbarkeit stellen keinen ausreichenden Verifikationsnachweis dar.
- Strukturelle Abdeckung: Normen schreiben Mindestabdeckungsgrade einschließlich Anweisungs- (Statement), Verzweigungs- (Branch) oder MC/DC-Abdeckung vor, je nach Sicherheitsintegritätsstufe der Software.
- Tool-Qualifikation: Die im Verifikationsprozess eingesetzten Tools müssen selbst qualifiziert oder zertifiziert sein, damit ihre Ergebnisse als verlässlicher Nachweis gelten können.
- Dokumentierte Nachweise: Ergebnisse müssen in einer überprüfbaren, auditierbaren und reproduzierbaren Form aufgezeichnet werden.
Qualitätssicherung und Compliance verbinden
Statische Analyse zur Überprüfung der Konformität
PC-lint Plus ist nach IEC 61508 (SIL 1–3), ISO 26262 (ASIL A–D), IEC 62304 und EN 50716 zertifiziert. Es prüft die Einhaltung von MISRA C:2023, MISRA C++:2023, AUTOSAR C++14, CERT-C sowie Erkennung von Schwachstellen gemäß CWE. Jeder Befund ist rückverfolgbar und kann mit einer dokumentierten Begründung unterdrückt werden – genau das, worauf Auditoren achten.
Unit-Tests und Testabdeckung zur Einhaltung der Vorgaben
VectorCAST unterstützt das anforderungsbasierte Testfallmanagement, die bidirektionale Rückverfolgbarkeit zwischen Anforderungen und Testergebnissen sowie die Abdeckungsmessung in allen von Sicherheitsnormen geforderten Modi. Dazu gehören die „Industry Modes“, die automatisch die richtigen Abdeckungskriterien für die jeweilige Norm und ein bestimmtes Sicherheitsintegritätsniveau auswählen. Die Ergebnisse sind TÜV-zertifiziert.
Kontinuierliche Qualitätsüberwachung
Squore bündelt Daten aus der gesamten Toolchain in einer einzigen Umgebung, darunter Ergebnisse statischer Analysen, Testergebnisse, Abdeckungsmetriken und Anforderungsabdeckung. Das System setzt Quality-Gates durch, die verhindern, dass nicht konformer Code weiterverarbeitet wird, und bietet Trendanalysen, die Teams frühzeitig vor einer Verschlechterung der Qualität warnen.
Ein praktischer Weg zur Compliance
Die Einbindung der Verifikation in den Entwicklungsprozess führt zu besseren Ergebnissen, als sie lediglich als abschließenden Schritt zu behandeln. Eine frühzeitig eingeführte statische Analyse verhindert die Anhäufung von bestimmten Fehlerklassen. Unit-Tests mit Rückverfolgbarkeit erzeugen eine Nachweisbasis, die mit dem Projekt wächst. Die kontinuierliche Überwachung der Testabdeckung deckt Lücken auf, solange diese noch klein sind. Jede Phase fließt in die nächste ein, und die Ergebnisse jeder Phase entsprechen genau jenen, die von den Zertifizierungsstellen geprüft werden.
PC-lint Plus, VectorCAST und Squore unterstützen bei der Einhaltung der Normen, und PC-lint Plus und VectorCAST sind nach den von ihnen unterstützten Standards zertifiziert. Alle Tools lassen sich in bestehende Entwicklungs-Toolchains integrieren. Die von ihnen erbrachten Konformitätsnachweise sind ein direktes Ergebnis der Entwicklungsarbeit und kein separater Dokumentationsaufwand.