Logo für GIGAOM 365x70

Sehen Sie, welche API-Testlösung im GigaOm Radar Report am besten abgeschnitten hat. Holen Sie sich Ihren kostenlosen Analystenbericht >>

DO-178C-Softwarekonformität für die Luft- und Raumfahrt sowie Verteidigung

Tool-Qualifizierung für sicherheitskritische Bordsysteme

Standards für die Entwicklung sicherheitskritischer Software empfehlen den Herstellern, nachzuweisen, dass die von ihnen zur Softwareentwicklung verwendeten Tools keine Probleme verursachen und korrekte, vorhersehbare Ergebnisse liefern.

Der Prozess der Bereitstellung solcher Beweise wird als bezeichnet Werkzeugqualifikation. Obwohl es sich um einen notwendigen Prozess handelt, ist die Tool-Qualifizierung oft eine langwierige und zeitaufwändige Tätigkeit, die viele Organisationen nicht einplanen. Um dies möglichst unkompliziert zu gestalten, sind ausgewählte Tools zertifiziert und werden bereits seit längerem bei der Entwicklung sicherheitskritischer Anwendungen eingesetzt.

Im Fall der Softwareentwicklung für Bordsysteme bietet DO-330, Überlegungen zur Qualifizierung von Softwaretools, Leitlinien zur Toolqualifizierung. Ziel ist es, einen Rahmen für einen Toolqualifizierungs-Lebenszyklus bereitzustellen, der Planung, Verifizierung, Qualitätssicherung und Dokumentation umfasst. Es gibt verschiedene Toolqualifizierungsstufen von 1 bis 5, wobei 5 die am wenigsten strenge ist. Die Stufe basiert auf den möglichen Auswirkungen des Tools auf die Systemsicherheit.

Hier sind einige der wichtigsten Schritte der Werkzeugqualifizierung gemäß DO-330.

Blauer Kreis mit einem zentrierten weißen Symbol einer Zwischenablage mit einem blauen Häkchen in der Mitte.

Plan zur Werkzeugqualifizierung

Es ist ein umfassender Tool-Qualifizierungsplan (TQP) erforderlich. Definieren Sie in diesem Plan den Umfang des Qualifizierungsaufwands, identifizieren Sie die zu qualifizierenden Tools, skizzieren Sie die Qualifizierungsaktivitäten und geben Sie die Qualifizierungsziele an.

Blauer Kreis mit einem weißen Symbol in der Mitte aus zwei kleinen Quadraten, die durch eine gebogene Linie verbunden sind.

Werkzeugklassifizierung

Softwaretools werden hauptsächlich anhand ihrer Auswirkungen auf die Systemsicherheit, aber auch anhand ihrer möglichen Auswirkungen auf die Entwicklungs- und Verifizierungsprozesse klassifiziert. Tools werden in einen von fünf Tool Qualification Levels (TQL) eingeteilt: TQL 1, TQL 2, TQL 3, TQL 4, TQL 5. TQL 1 stellt die höchste Auswirkung dar und TQL 5 die niedrigste.

Blauer Kreis mit weiß umrandetem Lupensymbol.

Werkzeugbewertung

Führen Sie eine gründliche Bewertung des Entwicklungsprozesses, der Dokumentation und der Merkmale jedes Tools durch, um die Qualifikationsanforderungen zu ermitteln. Dazu gehört die Überprüfung des Designs, der Verifizierung, Validierung und Wartungsverfahren des Tools. Dies erfordert natürlich eine Zusammenarbeit, wenn Tools von Drittanbietern erworben werden.

Blauer Kreis mit weiß umrandetem Symbol eines Schraubenschlüssels, der auf einem Zahnrad liegt.

Werkzeug-Qualifizierungssicherungsstufen (AL)

Weisen Sie jedem Tool basierend auf dem TQL und dem Vertrauensniveau in den Entwicklungsprozess des Tools eine Vertrauensstufe zu, die den Vertrauensstufen von DO-278A entspricht. Die Vertrauensstufen reichen von AL 1 (höchste Vertrauensstufe) bis AL 5 (niedrigste Vertrauensstufe).

Blauer Kreis mit einem weiß umrandeten Schildsymbol und einem Häkchen in der Mitte.

Werkzeugverifizierung und -validierung

Führen Sie für jedes Tool die erforderlichen Überprüfungs- und Validierungsaktivitäten durch und weisen Sie die korrekte Funktionsweise und genaue Ergebnisse nach.

Blauer Kreis mit einem weißen Symbol eines Pfeils, der einen Kreis bildet. Das untere Ende besteht aus gepunkteten Linien, um eine durchgehende Linie anzuzeigen.

Wartung des Werkzeuglebenszyklus

Richten Sie einen Prozess für die laufende Wartung und Überwachung jedes Tools ein. Dazu gehören regelmäßige Überprüfungen, Aktualisierungen und ggf. Neuqualifizierungen, wenn Änderungen am Tool oder seiner Umgebung vorgenommen werden.

Blauer Kreis mit einem weiß umrandeten Dateisymbol in der Mitte.

Qualifikationsnachweise

Führen Sie Aufzeichnungen über alle Tool-Qualifizierungsaktivitäten, einschließlich Bewertung, Verifizierung, Validierung und Ergebnisse. Diese Aufzeichnungen sind für Auditzwecke und zum Nachweis der Konformität mit DO-330 unerlässlich.

Blauer Kreis mit einem Symbol in weißer Umrandung in der Mitte. Das Symbol ist eine Datei mit einem Häkchen in der unteren rechten Ecke.

Abschlussbericht zur Qualifikation

Bereiten Sie für jedes Tool einen abschließenden Qualifizierungsbericht vor, der den gesamten Qualifizierungsprozess, die Ergebnisse der Bewertungen und Verifizierungs- und Validierungsaktivitäten sowie den Konformitätsstatus mit den DO-330-Anforderungen zusammenfasst.

Das Endprodukt ist ein Nachweis in Form einer Dokumentation. Der in DO-330 beschriebene Qualifizierungsprozess ist komplex und zeitaufwändig. Parasofts Qualifizierungskits für C/C++test enthalten einen praktischen Tool-Assistenten, der Automatisierung ins Spiel bringt und den Zeit- und Arbeitsaufwand für die Tool-Qualifizierung reduziert.

Bild des Parasoft C/C++test und C/C++test CT TÜV SÜD-Zertifikats
Parasoft C/C++test und C/C++test CT TÜV SÜD-Zertifikat

Vorzertifizierte Werkzeuge

Die Tool-Qualifizierung muss mit der Tool-Auswahl beginnen, um sicherzustellen, dass Sie ein Entwicklungstool verwenden, das von einer Organisation wie TOV SOD zertifiziert ist. Dadurch wird der Aufwand für die Tool-Qualifizierung erheblich reduziert.

Parasoft C/C++-Test, C/C++-Test CT und DTP sind von TOV SOD für funktionale Sicherheit gemäß IEC, ISO und anderen funktionalen Sicherheitsindustriestandards für hostbasierte und eingebettete Zielanwendungen zertifiziert. Obwohl das Zertifikat für RTCA DO-178C/DO-330 nicht ausreicht, zeigt es das historische Engagement von Parasoft bei der Bereitstellung hochwertiger Produkte.

Um die Tool-Qualifizierungsanforderungen von DO-330 zu erfüllen, ebnet die C/C++-Softwareentwicklung den Weg für eine optimierte Qualifizierung der statischen Analyse, der Komponententests und der Abdeckungsanforderungen für die sicherheitskritischen Standards, indem sie ein Tool-Qualifizierungskit anbietet, das den Tool-Qualifizierungsprozess für jeden Entwicklungshost und/oder jedes Ziel-Ökosystem automatisiert.


Automatisierung von Tool-Qualifizierungstests

Traditionell ist mit der Tool-Qualifizierung ein erheblicher Aufwand an manueller Arbeit, Tests und Dokumentation verbunden, um die Anforderungen eines Zertifizierungsaudits zu erfüllen. Dieser dokumentationsintensive Prozess erfordert jedoch eine manuelle Interpretation und Vervollständigung. Dies ist zeitaufwändig und erhöht den ohnehin schon umfangreichen Testplan und das Budget eines Unternehmens zusätzlich.

Parasoft nutzt seine eigenen Qualifizierung von Tools zur Softwaretestautomatisierung mit Qualifizierungskits, die einen dokumentierten Workflow beinhalten und so den Aufwand drastisch reduzieren.

Foto einer Bell Boeing V-22 Osprey, die sich auf die Landung auf einem Feld mit aufwirbelndem Staub und grünen Hügeln im Hintergrund vorbereitet.

Vorteile der Verwendung der Qualifizierungskits

  • Reduzieren Sie den Qualifizierungsumfang automatisch auf die im Einsatz befindlichen Teile des Werkzeugs.
  • Automatisieren Sie die für die Qualifizierung erforderlichen Tests so weit wie möglich.
  • Verwalten Sie alle manuellen Tests so eloquent wie möglich und integrieren Sie die Ergebnisse neben automatisierten Tests.
  • Erstellen Sie automatisch eine auditfähige Dokumentation, die genau darüber berichtet, was qualifiziert wird – nicht mehr und nicht weniger.

Qualifizieren Sie nur die verwendeten Werkzeuge

Für die Qualifizierung von Funktionen, die während der Entwicklung nicht verwendet wurden, sollte kein zusätzlicher Aufwand erforderlich sein. Die Reduzierung des Test-, Berichts- und Dokumentationsumfangs ist eine wichtige Möglichkeit, den Qualifizierungsaufwand zu verringern.

Beispielsweise können Benutzer als Teil des DO-178C/DO-330-Tool-Qualifizierungskits und -prozesses den Parasoft C/C++-Test für die statische Analyse von C/C++-Code auswählen, um dessen Konformität mit dem MISRA C:2023-Standard zu überprüfen. Das Tool wählt dann nur die Teile der Qualifizierungssuite aus, die für diese Funktion erforderlich sind.

Zwei nebeneinander stehende Screenshots des C/C++-Tests. Der linke zeigt Anwendungsfälle des C/C++-Tests. Der rechte zeigt eine Liste der Standard- und Levelauswahl für die Qualifikation.

Screenshot des Parasoft C/C++-Tests, der die Funktionsauswahl für Parasoft-Qualifizierungskits zeigt.
Mit Parasoft Qualification Kits können Benutzer die für ihr Projekt erforderlichen Optionen auswählen. Nach der Auswahl werden ab diesem Zeitpunkt nur noch Tests und Dokumentationen verwendet und bereitgestellt.

Nutzen Sie Testautomatisierung und Analysen

Ein einzigartiger Vorteil bei der Qualifizierung von Testautomatisierungstools besteht darin, dass die Tools zur Automatisierung ihrer eigenen Tests verwendet werden können. Die größtmögliche Automatisierung ist der Schlüssel, um den Test so reibungslos wie möglich zu gestalten. Sogar manuelle Tests, die für jedes Entwicklungstool unvermeidlich sind, werden so effizient wie möglich durchgeführt. Es werden Schritt-für-Schritt-Anleitungen bereitgestellt und die Ergebnisse werden als Teil des Qualifizierungsdatensatzes eingegeben und gespeichert.

Parasoft C/C++test sammelt und speichert alle Testergebnisse von jedem Build. Die Tests werden wie bei jedem anderen Projekttyp ausgeführt. Diese Ergebnisse werden in den Teststatus-Assistenten der Parasoft Qualification Kits übernommen, um einen umfassenden Überblick über die Ergebnisse wie die unten gezeigten zu bieten.

Screenshot des Teststatus aus der Toolchain mit C/C++test
Durch die Nutzung einer zentralen Datenerfassung und die Automatisierung des Qualifizierungsprozesses wird die manuelle Nachverfolgung des Compliance-Fortschritts erheblich reduziert.

Umgang mit bekannten Defekten

Jedes Entwicklungstool hat bekannte Fehler und jeder Anbieter, der Produkte für sicherheitskritische Entwicklungen verkauft, muss diese dokumentieren. Zum Umgang mit bekannten Mängeln gehört mehr als nur deren Dokumentation.

Screenshot der Parasoft C/C++test Mitigation Selection mit einer Liste bekannter Defekte.
Bekannte Defekte werden direkt im Parasoft C/C++test verwaltet.

Für die Tool-Qualifizierung ist der Nachweis erforderlich, dass diese Mängel die zur Verifizierung und Validierung verwendeten Ergebnisse nicht beeinträchtigen. Für jeden bekannten Mangel muss der Hersteller eine Behebungsmaßnahme vorlegen und diese zur Zufriedenheit des Zertifizierungsprüfers dokumentieren.

Es ist die Aufgabe des Tool-Anbieters, die Behandlung bekannter Mängel so weit wie möglich zu automatisieren. Schließlich erwartet der Anbieter von seinen Kunden, dass sie sich im Rahmen ihrer Arbeitslast mit Softwarefehlern von Drittanbietern befassen müssen!

Die Parasoft C/C++test-Qualifizierungskits enthalten einen Assistenten zum Automatisieren der Aufzeichnung von Schadensbegrenzungsmaßnahmen für bekannte Defekte, wie im folgenden Beispiel gezeigt.


Automatisierung der Tool-Qualifizierungsdokumentation

Das Endergebnis der Tool-Qualifizierung ist Dokumentation – und zwar jede Menge davon. Jeder durchgeführte Test mit Ergebnissen, jeder bekannte Defekt mit Abhilfe, manuelle Testergebnisse und Ausnahmen werden aufgezeichnet und gemeldet. Qualifizierungskits anderer Anbieter können nur aus Dokumentation bestehen, und ohne Automatisierung ist die Dokumentation der Konformität mühsam.

Stattdessen werden mithilfe des Qualification Kits für den C/C++-Test die kritischen Dokumente automatisch als Teil des Workflows generiert.

Symbol in einem blauen Kreis, das den weißen Umriss einer Richtlinien-Checkliste zeigt.

Werkzeugklassifizierungsbericht

Bestimmt die erforderliche Qualifikation und präsentiert die maximale Sicherheitsstufenklassifizierung für C/C++test und C/C++test CT basierend auf den vom Benutzer ausgewählten Anwendungsfällen.

Symbol in einem blauen Kreis, das den weißen Umriss einer Richtlinien-Checkliste zeigt.

Werkzeugqualifizierungsplan

Beschreibt, wie C/C++test und C/C++test CT für den Einsatz in einem sicherheitsrelevanten Entwicklungsprojekt qualifiziert werden.

Symbol in einem blauen Kreis, das den weißen Umriss einer Richtlinien-Checkliste zeigt.

Werkzeugqualifizierungsbericht

Zeigt, dass C/C++test und C/C++test CT entsprechend dem Tool-Qualifizierungsplan qualifiziert wurden.

Symbol in einem blauen Kreis, das den weißen Umriss einer Richtlinien-Checkliste zeigt.

Werkzeugsicherheitshandbuch

Werkzeugsicherheitshandbuch

Beschreibt, wie C/C++test und C/C++test CT sicher verwendet werden sollten, beispielsweise zur Einhaltung von Sicherheitsnormen wie IEC 62304 in sicherheitskritischen Projekten.

In jedem dieser Dokumente wird nur die Dokumentation erstellt, die für das verwendete Werkzeug erforderlich ist, da der Umfang der Qualifizierung zu Beginn des Projekts eingegrenzt wurde. Durch Automatisierung und Eingrenzung des Qualifizierungsumfangs reduzieren die Teams den Dokumentationsaufwand erheblich.

Dunkelblaues Banner mit dem Bild eines Mannes, der in einem Serverraum mit einer Frau spricht, die ein Tablet in der Hand hält.
Bild eines Mannes und einer Frau mit einem Tablet in der Hand, die in einem Serverraum diskutieren.

Verbessern Sie Ihre Softwaretests mit Parasoft-Lösungen.