AdaCores Toolchain für Ada, SPARK und C erhält Qualifizierungen gemäß ISO 26262 and IEC 61508

Paris, X. Monat 2020Der TÜV SÜD hat drei zentrale Softwareentwicklungs- und Verifizierungs-Tools von AdaCore gemäß ISO 26262 und IEC 61508 qualifiziert. Damit belegt das Unternehmen, dass seine Technologien auch den hohen Sicherheitsanforderungen der Automobilindustrie gerecht werden.

Die ISO 26262 ist eine ISO-Norm für sicherheitsrelevante elektrische und elektronische Systeme in Kraftfahrzeugen. Die IEC 61508 ist eine internationale Normenserie zur Entwicklung von elektrischen, elektronischen und programmierbaren elektronischen Systemen, die eine Sicherheitsfunktion ausführen. Zu den drei Entwicklungs- und Verifizierungs-Tools von AdaCore, die vom TÜV SÜD gemäß dieser Normen qualifiziert wurden, zählen:

·       die Entwicklungsumgebung GNAT Pro, die eine industrietaugliche Toolchain für die Programmiersprachen Ada und C bietet. Sie unterstützt die beiden Sprachen entweder jeweils für sich allein genommen oder gemischt in einer einzigen Binärdatei. GNAT Pro verfügt über eine ganzen Reihe an Entwicklungs- und Verifizierungstools, darunter die Berechnung von Stackgrößen, die Verifizierung von Programmierstandards und eine individuelle sowie erweiterbare integierte Entwicklungsumgebung (IDE).

·       der Common Code Generator (CCG), der aus einem Quellcode, der im SPARK-Subset von Ada geschrieben ist, C-Quellcode erzeugt. Er ermöglicht Projekten das Cross-Compilieren von Ada- und SPARK-Anwendungen auf jede Zielhardware, die einen C-Compiler bereitstellt. Dazu zählt auch Zielhardware, die nicht von Haus aus Ada unterstützt.

  • das Toolset SPARK Pro, das auf dem Subset von Ada basiert und es Entwicklern erlaubt, benuzterdefinierte funktionale Assertionen zu überprüfen und Eigenschaften von Quellcode formal zu garantieren. Dazu zählt die Abwesenheit bestimmter Schwachstellen-Kategorien wie Buffer Overflow, Teilung durch Null oder Referenzen auf nicht initialisierte Variablen.

Sowohl der GNAT Pro Compiler als auch der CCG erhielten vom TÜV SÜD eine TCL3-Qualifizierung gemäß ISO 26262 und eine T3-Qualifizierung gemäß ICE 61508. Das Verifizierungstool SPARK PRO erhielt eine TCL3- und T2-Qualifizierung. Als unabhängige und weltweit anerkannte Organisation bestätigt der TÜV SÜD, dass Produkte nationalen und internationale Standards entsprechen. Sein Prüfzeichen ist allgemein als vertrauenswürdiges Symbol für Qualität, Sicherheit und Nachhaltigkeit anerkannt.

AdaCore verfügt bereits seit zwei Jahrzehnten über Zertifizierungen für sicherheitskritische Branchen wie Luftfahrt, Raumfahrt und Eisenbahnverkehr. Durch die jetztige Komplettierung der Qualifizierungen für automobile und industrielle Standards belegt das Unternehmen, dass seine hochsicheren Technologien auch die anspruchsvollen Anforderungen der Automobilindustrie erfüllen.

„Der Bedarf an kosteneffizienten Tools und Methoden ist in der Automotivbranche und der Industrie in den vergangenen Jahren erheblich gestiegen“, sagt Quentin Ochem, Lead of Business Development bei AdaCore. „Die Sprachen Ada und SPARK haben sich dabei für viele Entwickler, die Software mit höherer Integrität benötigen, als tragfähige Alternative zu C herauskristallisiert. Die Komplettierung unserer Sicherheitszertifizierung nach den entsprechenden Standards demonstriert, dass wir diese Projekte optimal unterstützen können.“

Diese Presseinformation kann unter www.pr-com.de/adacore abgerufen werden.

Functional_S.jpg#asset:48783


Über ISO 26262 und IEC 61508

ISO 26262 ist eine Norm für funktionale Sicherheit in Kraftfahrzeugen und eine Ableitung der allgemeinen Norm IEC 61508 für elektrische/elektronische/programmierbare elektronische Systeme („E/E/PE“). Sie definiert die Phasen des Safety Life Cycle von Fahrzeugen und die damit verbundenen Maßnahmen und legt auf Grundlage eines risikobasierten Ansatzes die Automotive Safety Integrity Levels (ASILs) und die entsprechenden Vorgaben fest. Eine Analyse der System-Funktionen konzentriert sich auf die potenziellen Gefahren im Falle eines Ausfalls und die Folgen für Leben und Eigentum. Der berechnete ASIL reicht von A (am wenigsten kritisch) bis D (am kritischsten) und berücksichtigt die geschätzte Wahrscheinlichkeit, mit der der Ausfall auftritt, die Frage, ob der Fahrer die Gefahr mit einer Gegenmaßnahme verringern kann, sowie das Ausmaß des Auftretens.

ISO 26262 definiert die Anforderungen an die Tool-Qualifizierung, wobei die Vorteile der Automatisierung sowohl hinsichtlich der Produktivität als auch der Genauigkeit berücksichtigt werden, und definiert vier Methoden der Qualifizierung:

  • Erhöhte Sicherheit durch den Einsatz,
  • Bewertung des Tool-Entwicklungsprozesses,
  • Validierung des Software-Tools und
  • Entwicklung entsprechend eines Sicherheitsstandards.

Die Qualifizierung basiert auf dem berechneten Tool Confidence Level (TCL), der von 1 (niedrigstes Level) bis 3 (höchstes) reicht. Der TCL eines Tools wird wiederum davon bestimmt, ob/wie ein Fehler im Tool oder seiner Produktion zu einem Sicherheitsrisiko führen kann („Tool Impact“), sowie von der Wahrscheinlichkeit, solche Fehler zu verhindern/zu erkennen („Tool Error Detection“). Ein Tool mit TCL1 benötigt keine Qualifizierung. TCL2- und TCL3-Tools erfordern eine Qualifizierung, wobei der ASIL des Systems bestimmt, welche Qualifizierungsmethoden am besten geeignet sind. Zu den Artefakten der Tool-Qualifizierung gehören ein Software-Tool-Qualifizierungsplan, eine Software-Tool-Dokumentation, eine Software-Tool-Klassifizierungsanalyse (die den entsprechenden TCL festlegt) und ein Software-Tool-Qualifizierungsbericht.

IEC 61508 ist eine internationale Norm für funktionale Sicherheit in E/E/PE-Systemen und bildet das „Dach“ für branchenspezifische Normen wie ISO 26262. Die Norm basiert auf den Konzepten des Safety Life Cycle (den erforderlichen technischen Prozessen für die funktionale Sicherheit) und des Safety Integrity Level oder SIL (dem Level der Risikoreduzierung). Die SILs reichen von SIL1 (niedrigste Anforderung zur Risikoreduzierung) bis SIL4 (höchste). Die SILs werden in Form von Ausfallwahrscheinlichkeiten definiert; zum Beispiel liegt für SIL4 die Wahrscheinlichkeit eines gefährlichen Ausfalls pro Stunde im dauerhaften Betrieb zwischen 10-9 und 10-8.

Die softwarebezogenen Anforderungen sind in Teil 3 der IEC 61508 definiert, mit der Identifizierung von Techniken und Maßnahmen für die Software-Entwicklung/-Verifikation; die spezifischen Anforderungen basieren auf dem SIL. Die Norm legt drei Kategorien der Tool-Qualifikation fest:

  • T1: Das Tool wird weder dazu verwendet, den Code zu verifizieren noch Output zu produzieren, der Teil des ausgeführten Programms ist (z.B. ein Texteditor),
  • T2: Die Tools könnten einen Fehler übersehen, erzeugen aber keinen Code, der Teil des ausgeführten Programms ist (d.h. ein Verifikations-Tool, das die Einhaltung von Programmierstandards überprüft), und
  • T3: Das Tool kann einen Output produzieren, der Teil des ausgeführten Programms ist (z.B. ein Compiler).

Tools, die nach T2 oder T3 eingestuft sind, müssen über eine entsprechende Dokumentation verfügen, wobei bei T3 zusätzlich nachgewiesen werden muss (basierend auf der Erfahrung des Benutzers oder auf Testfällen), dass das Tool mit seiner Dokumentation konform ist.

Über Ada und SPARK

Ada ist eine moderne, international standardisierte Programmiersprache mit einer langen und erfolgreichen Erfolgsgeschichte in der Entwicklung von hochzuverlässigen Embedded-Systemen. Die starke Typisierung und und Compile-Time-Checks erkennen Fehler frühzeitig und ermöglichen eine rechtzeitige, kostengünstige Korrektur. Die neueste Version des Ada-Standards, Ada 2012, unterstützt die vertragsbasierte Programmierung (Pre- und Postconditions für Subprogramme) betten Low-Level-Anforderungen als überprüfbare Aussagen in den Quellcode als ein. In kritischen Systemen, in denen das Testen allein möglicherweise keine ausreichende Sicherheit bietet, unterstützt das SPARK-Subset von Ada die mathematischbasierte Sicherheit, dass die relevanten Programmeigenschaften erfüllt werden (zum Beispiel das Fehlen von Laufzeitfehlern wie ein Buffer Overflow). SPARK kann schrittweise in ein Projekt eingeführt werden, und Verträge können entweder statisch (durch die SPARK Proof-Engine) oder dynamisch (mit Run-Time Checks) überprüft werden.

Über AdaCore

AdaCore wurde 1994 gegründet und bietet Tools für Software-Entwicklung und Verifikation für kritische und sicherheitskritische Systeme. Zu den wichtigsten Produkten von AdaCore gehören die GNAT-Pro-Entwicklungsumgebung für Ada, das statische Analyse-Tool CodePeer, die Verifikationsumgebung SPARK Pro und das modellbasierte Entwicklungswerkzeug QGen. Zahlreiche Anwender haben die AdaCore-Produkte im Einsatz und unterhalten damit eine Vielzahl von kritischen Anwendungen in Bereichen wie Raumfahrtsysteme, kommerzielle Luftfahrt, militärische Systeme, im Flugverkehrsmanagement, bei Schienensystemen, bei Geräten der Medizintechnik und bei Finanzdienstleistungen. AdaCore verfügt über eine umfangreiche und wachsende weltweite Kundenbasis; nähere Informationen dazu unter www.adacore.com/customers

AdaCore-Produkte sind Open-Source und werden mit Online-Support durch die Entwickler zur Verfügung gestellt. Das Unternehmen hat seinen nordamerikanischen Hauptsitz in New York, der europäische Hauptsitz ist in Paris. Weitere Informationen unter www.adacore.com

Pressekontakte:

AdaCore                                                              PR-COM GmbH Pamela Trevino                                                  Andrea Groß press@AdaCore.com                                        andrea.gross@pr-com.de www.AdaCore.com                                            www.pr-com.de http://twitter.com/AdaCoreComp...               Tel. +49-89-59997-803