Werbung

  • Thesenpapier, Oktober 2016

  • Statische Analyse und die EN 50128 Norm

Verkehrssysteme und insbesondere Eisenbahnsysteme sind Wachstumsmärkte, in denen Software zur Befehlsgabe, Kommunikation und Steuerung immer stärkeren Einsatz findet. Weil Fehler und Unfälle schwerwiegende Folgen nach sich ziehen, untersteht die Entwicklung dieser Software strengen Normen wie der EN 50128, die den Einsatz sicherer Praktiken, Tools und Techniken beim Programmieren sehr genau definiert. Sie enthält klare Anforderungen an sichere Programmiertechniken, wie Modularität und komponenten-, struktur- und objektorientierte Programmierung. Zudem fordert sie den Einsatz von Modellierungs- und Programmierungsstandards sowie Sprachen-Subsets wie MISRA C. Für das Sicherheitsintegritätslevel (SIL) 3 und 4 sind diese Programmierungsstandards sogar obligatorisch. Hier bieten statische Analysetools wertvollen Support, denn sie eignen sich sehr gut zur Umsetzung strenger Codier-Standards, unabhängig davon ob es sich dabei um gängige wie MISRA C oder um kundenspezifische Versionen handelt.

Tatsächlich schreibt die EN 50128 Norm die Nutzung statischer Analysetools „unter Verwendung eines flexiblen Satzes von Programmierungsstandards, Steuerfluss- und Datenfluss-Analyseregeln“ vor, und empfiehlt sie dringend für SIL 1 bis 4. Interessanterweise heißt es in dieser Norm: „Nutzen Sie das inter-prozedurale Steuerflussanalyse-Modul, um eingesetzte Variablen vor deren Initialisierung, Pufferüberläufe, Speicherlecks usw. zu finden.“ Damit ist klar, dass die statische Analyse einen wichtigen Bestandteil jedes Instrumentariums für die Entwicklung sicherheitsrelevanter Software darstellt.

Die nachfolgende Tabelle veranschaulicht, wie spezifische Anforderungen von EN 50128 von statischen Analysetools erfüllt werden sowie ihren zugehörigen Empfehlungsgrad. Die Verweise beziehen sich auf einzelnen Klauseln in EN 50128.

Zusätzlich zur Konformität ist die Dokumentation zu ihrem Nachweis ein wichtiger Bestandteil der Erfüllung der Anforderungen von EN 50128. Automatisierte Softwaretools, einschließlich statischer Analyse, unterstützen den Zertifizierungsaufwand mithilfe von Berichtsfunktionen. Zusätzlich zu den weiteren Vorteilen wie Risikominimierung und einer kürzeren Entwicklungszeit erzielen sie eine schnellere Time-to-Market und Kosteneinsparungen.
Ein nach 50128 zertifiziertes Tool ist CodeSonar, dessen Funktionsumfang und Entwicklungsprozess von der TÜV SÜD Saar GmbH geprüft wurde, die auch bestätigt, dass es die Anforderungen für den Einsatz zur Entwicklung sicherheitsrelevanter Software erfüllt. Warum ist das wichtig? Werkzeuge zum Entwickeln von sicherheitsrelevanter Software müssen dokumentiert, und ihre Ergebnisse analysiert werden. Den Zertifizierungsvorgang mit zertifizierten Tools zu unterstützen verringert Risiko, Kosten und Zeit. Demgegenüber erfordern nicht zertifizierte Tools weitere Prüfungen durch die Zertifizierungsstellen – und führen gegebenenfalls zu höherem Aufwand und Risiko für das Entwicklungsteam.

%copy; Marc Brown, VP Business Development, GrammaTech, Inc.

Vorheriger Beitrag Nächster Beitrag