Software-Entwicklungswerkzeug

Ist mein Entwicklungswerkzeug für sicherheitsrelevante Anwendungen geeignet?

20.01.11 | Redakteur: Hendrik Härter

Sicherheitsrelevante Anwendungen mit dem richtigen Entwicklungswerkzeug erstellen: Eine Validierungssuite liefert Antworten (Bild: Thorben Wengert, pixelio.de)
Sicherheitsrelevante Anwendungen mit dem richtigen Entwicklungswerkzeug erstellen: Eine Validierungssuite liefert Antworten (Bild: Thorben Wengert, pixelio.de)

Embedded Software und die zugehörigen Entwicklungswerkzeuge, wie Codegeneratoren und Compiler, sind sehr komplex und die Anforderungen aus den Sicherheitsnormen sind für viele Entwickler schwer zu überblicken. Wissen Sie, ob Ihr Entwicklungswerkzeug qualifiziert für sicherheitsrelevante Anwendungen ist? Eine Validierungssuite liefert belastbare Antworten.

Embedded Software wird heute oft modellbasiert entwickelt. Modelle können Funktionen in einer graphischen Notation beschreiben, die entweder datenflussorientiert wie bei Simulink oder kontrollflussorientiert wie bei Stateflow sind.

Um aus Modellen ausführbaren Steuergeräte-Code zu erhalten, wird in der Regel eine Kette von Werkzeugen unterschiedlicher Hersteller eingesetzt:

  • Ein Code-Generator übersetzt das Modell in C-Code.
  • Ein Target-Compiler übersetzt den C-Code weiter in Target-Code.

Das Gespann aus Generator und Compiler wird häufig als Einheit betrachtet und zusammen mit den gewählten Einstellungen, beispielsweise Target- oder Compileroptionen, als Entwicklungswerkzeug (EW) bezeichnet. Die EW-Bestandteile sind oft komplex und ihre Zusammenstellung ist häufig einzigartig für ein Projekt und damit unerprobt. Die Kernfrage ist hier, ob das EW sicher bzw. qualifiziert für den Einsatz ist? Verhält sich der resultierende Target-Code so wie das Modell? Sind durch das EW unbemerkt Fehler eingeschleust worden? Fehler in EWs sind keine Seltenheit und haben, wenn sie unbemerkt bleiben, fatale Folgen!

Entwicklungswerkzeuge auf Fehler analysieren

Validierungssuite schafft Vertrauen: Der Programmcode wird in der Validierungssuite geprüft
Validierungssuite schafft Vertrauen: Der Programmcode wird in der Validierungssuite geprüft

Sicherheitsnormen wie die ISO26262 fordern daher, dass jedes EW, das direkten Einfluss auf ein sicherheitsrelevantes Produkt hat, auf potentielle Fehler hin analysiert wird. Für jeden potentiellen Fehler muss es entweder eine ausreichende Fehler-erkennung im Prozess geben, oder die Abwesenheit des Fehlers wird durch eine EW-Qualifizierung hinreichend gezeigt.

Die ISO26262 schlägt je nach Sicherheitslevel (ASIL) des Produkts und der Erkennungswahrscheinlichkeit von EW-Fehlern unterschiedliche Qualifzierungsmethoden vor. Bei hohem ASIL und niedriger Fehlererkennung reichen Argumentationen über Betriebsbewährtheit oder Prozessassessments für die EW-Bestandteile nicht aus. Die ISO26262 schreibt in solchen Situationen vor, dass entweder das gesamte EW selbst nach einem Sicherheitsstandard entwickelt wird oder eine Validierung des EWs stattfindet!

Qualifizierung der Entwicklungswerkzeuge ist Aufgabe des Anwenders

Da die Hersteller der EW-Bestandteile nicht den genauen Anwendungskontext kennen, ist die EW-Qualifizierung Sache des EW-Anwenders. Der Anwender hat auch die Möglichkeit aus fehlerbehafteten EW-Bestandteilen eine qualifiziertes EW zu formen, indem er die Nutzung einschränkt oder die Fehlervermeidung verstärkt. Das kann er beispielsweise durch Richtlinienchecks machen.

Der Anwender kann zudem den Aufwand für die EW-Qualifizierung senken, indem er zusätzliche Maßnahmen zur Fehlererkennung vorsieht. Da aber manche Maßnahmen von sich aus sehr aufwändig sind, wie Codeinspektionen, oder Folgekosten verursachen, wie die Wartung für Prüftools, kann dies nur zu einer Verlagerung des Aufwands führen.

Inhalt des Artikels:

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Kommentar abschicken

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 24992540 / Software-Implementierung)

Embedded Software Engineering Report abonnieren

4 mal jährlich: Die kostenlose Pflichtlektüre für Embedded­-Software- und Systems-Entwickler, von Analyse bis Wartung und Betrieb

* Ich bin mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung und AGB einverstanden.
Spamschutz:
Bitte geben Sie das Ergebnis der Rechenaufgabe (Addition) ein.