Parasoft-Logo Suche

Entdecken Sie das TÜV-zertifizierte GoogleTest mit Agentic AI für C/C++-Tests!
Details ansehen »

Parasoft-Blog

Automatisieren Sie den Tool-Qualifizierungsprozess für sicherheitskritische Software

By Richard Camacho • November 16, 2023 • 5 min gelesen
November 16, 2023 | 5 min gelesen
By Richard Camacho
Text links: Automatisieren Sie den Tool-Qualifizierungsprozess für sicherheitskritische Software. Auf der rechten Seite befindet sich ein aufrechtes Automatisierungsrad mit einem großen Ausrufezeichen in der Mitte, das in Aquablau beleuchtet ist.

Mit dem Tool Qualification Kit für C/C++-Test von Parasoft können Sie den Prozess automatisieren und den Arbeitsaufwand für die Tool-Qualifizierung für die Softwareentwicklung verringern. Lesen Sie weiter, um zu erfahren, wie.

Normen für die Entwicklung sicherheitskritischer Software , wie beispielsweise DO-178C (Luft- und Raumfahrt), ISO 26262 (Automobilindustrie), IEC 62304 (Medizintechnik) und EN 50716 / EN 50128 (Funktionale Sicherheit), verlangen von Herstellern den Nachweis, dass die von ihnen verwendeten Entwicklungswerkzeuge korrekte und vorhersehbare Ergebnisse liefern. Dieser Nachweis wird als Werkzeugqualifizierung bezeichnet. Obwohl sie notwendig ist, gestaltet sich die Werkzeugqualifizierung oft als mühsam und zeitaufwändig, weshalb viele Unternehmen dies nicht ausreichend einplanen.

Das Endergebnis ist ein Nachweis in Form einer Dokumentation. Der Qualifizierungsprozess umfasst jedoch mehr als nur die Bereitstellung eines großen Stapels statischer Dokumentation. In diesem Beitrag befassen wir uns mit der Verwendung des Parasoft Qualification Kit für C/C++-Tests, das einen praktischen Tool-Assistenten enthält, der die Automatisierung ins Spiel bringt und den Zeit- und Arbeitsaufwand für die Tool-Qualifizierung reduziert.

Erstens: Stellen Sie sicher, dass Ihr Entwicklungstool zertifiziert ist

Die Werkzeugqualifizierung beginnt mit der Werkzeugauswahl. Stellen Sie sicher, dass Sie ein Entwicklungswerkzeug verwenden, das von einer Organisation wie dem TÜV SÜD zertifiziert ist. Dies reduziert den Aufwand bei der Werkzeugqualifizierung erheblich. Parasoft C/C++test ist vom TÜV SÜD für funktionale Sicherheit gemäß den Normen IEC 62304, EN 50716 / EN 50128 , IEC 61508 und ISO 26262 für Host-basierte und eingebettete Zielanwendungen zertifiziert. Dies ermöglicht eine effiziente Qualifizierung der Anforderungen an statische Analyse, Unit-Tests und Codeabdeckung für sicherheitskritische Standards.

Zweitens: Optimieren Sie den Werkzeugqualifizierungsprozess

Traditionell bedeutete die Qualifizierung von Werkzeugen einen erheblichen manuellen Arbeitsaufwand sowie das Testen und Dokumentieren von Entwicklungswerkzeugen, um ein Zertifizierungsaudit zu bestehen. Dieser dokumentationsintensive Prozess erfordert jedoch eine manuelle Interpretation und Vervollständigung und ist daher zeitaufwändig und anfällig für menschliches Versagen.

Wir lösen dieses Problem, indem wir diesen Prozess mit unserem Tool Qualification Kit automatisieren. Die Steigerung der Produktivität und die Reduzierung menschlicher Fehler durch Automatisierung standen schon immer im Mittelpunkt unserer Arbeit bei Parasoft. Deshalb haben wir dieselbe Mission auf den Tool-Qualifizierungsprozess für den Parasoft C/C++-Test angewendet. Unser Tool Qualification Kit führt den Benutzer durch einen intuitiven Arbeitsablauf, um den erforderlichen Aufwand drastisch zu reduzieren.

Zu den Vorteilen der Verwendung der Werkzeugqualifizierungskits gehören:

  • Reduzieren Sie den Qualifizierungsumfang automatisch nur auf die verwendeten Teile des Werkzeugs
  • Automatisieren Sie die für die Qualifizierung erforderlichen Tests so weit wie möglich
  • Behandeln Sie alle manuellen Tests so eloquent wie möglich und integrieren Sie die Ergebnisse in die automatisierten Tests
  • Erstellen Sie automatisch eine prüfungsbereite Dokumentation, die genau darüber berichtet, was qualifiziert wird, nicht mehr oder weniger!

Qualifizieren Sie nur das, was Sie verwenden

Warum sollten Entwickler Qualifizierungsmaterialien für DO-178C durchsehen, wenn sie an einem Automobilprojekt arbeiten, das ISO 26262 erfordert?

Was passiert, wenn das Team nur Teile der C/C++-Testlösung von Parasoft verwendet?

Für die Qualifizierung von Funktionen, die in Ihren Entwicklungsprodukten nicht verwendet werden, sollte kein zusätzlicher Aufwand erforderlich sein. Die Reduzierung des Test-, Berichts- und Dokumentationsumfangs ist eine wichtige Möglichkeit, den Qualifizierungsaufwand zu reduzieren.

Das folgende Beispiel zeigt, wie ein Benutzer den einzigen Anwendungsfall von C/C++test (statische Analyse) auswählt, um die Konformität mit dem MISRA C 2023 -Standard im Rahmen der ISO 26262-Qualifizierung zu prüfen. Das Tool wählt anschließend nur die für diese Funktion benötigten Komponenten des Qualifizierungskits aus. Fünf Standards für funktionale Sicherheit werden für die Qualifizierung unterstützt.

Screenshot des Parasoft C/C++-Testqualifikationskits mit Optionen für die Standard- und Levelauswahl für die Qualifizierung: ISO 26262 (ausgewählt), IEC 61508, EN 50128, DO 178C, DO 330.Screenshot des Parasoft C/C++-Testqualifikationskits mit Listenoptionen für Anwendungsfälle: JFS-Konformität, MISRA C 2023-Konformität (ausgewählt), statische Analyse – benutzerdefiniert, Unit-Tests mit Zweigstellenabdeckung, Unit-Tests mit MC/DC-Abdeckung, Unit-Tests mit Aussagedeckung.

Benutzer können Optionen abwählen, um den Umfang je nach Bedarf für ihr Projekt weiter zu reduzieren. Bei der Auswahl werden ab diesem Zeitpunkt nur noch Tests und Dokumentationen genutzt und bereitgestellt.

Screenshot der Parasoft C/C++-Testfunktionsauswahl mit Ergebnissen aus einem Projekt zur Analyse von Codierungsstandards.

Nutzen Sie Testautomatisierung und -analyse

Ein Vorteil der Qualifizierung von Testautomatisierungstools besteht darin, dass die Tools zur Automatisierung ihrer eigenen Tests verwendet werden können. Die Werkzeugqualifizierung erfordert die Durchführung von Tests und die Überprüfung der Ergebnisse, wie in den von uns bereitgestellten Qualifizierungskits beschrieben. Dies so weit wie möglich zu automatisieren ist der Schlüssel, um es so schmerzlos wie möglich zu machen. Auch manuelle Tests, die bei jedem Entwicklungstool unumgänglich sind, werden so effizient wie möglich abgewickelt. Es werden Schritt-für-Schritt-Anleitungen bereitgestellt und die Ergebnisse werden eingegeben und als Teil des Qualifikationsprotokolls gespeichert.

Parasoft C/C++test sammelt und speichert alle Testergebnisse von jedem Build und die Tests werden wie für jede Art von Projekt ausgeführt. Diese Ergebnisse werden in den Teststatus-Assistenten im Parasoft Tool Qualification Kit übernommen, um einen umfassenden Überblick über die Ergebnisse zu bieten:

Screenshot des Teststatus aus der Toolchain mit C/C++-Test, der den Status der ausgeführten Testfälle zeigt.

Durch die Zentralisierung, Aggregation und Automatisierung des Qualifizierungsprozesses wird die manuelle Verfolgung des Compliance-Fortschritts erheblich reduziert.

Behebung bekannter Mängel

Jedes Entwicklungstool hat bekannte Fehler und jeder Anbieter, der diese nicht dokumentiert, tut Ihren Compliance-Bemühungen keinen Gefallen. Der Umgang mit bekannten Mängeln umfasst jedoch mehr als nur deren Dokumentation. Für die Werkzeugqualifizierung müssen Sie den Nachweis erbringen, dass diese Mängel keinen Einfluss auf die im Projekt verwendeten Ergebnisse haben. Für jeden bekannten Mangel müssen Sie eine Abhilfe schaffen und diese zur Zufriedenheit des zertifizierenden Prüfers dokumentieren.

Es obliegt dem Tool-Anbieter, die Bearbeitung bekannter Fehler so weit wie möglich zu automatisieren. Schließlich bitten wir unsere Kunden, sich im Rahmen ihrer Arbeitsbelastung um unsere Fehler zu kümmern! Das Parasoft C/C++-Testqualifikationskit enthält einen Assistenten zur Automatisierung der Aufzeichnung der Schadensbegrenzung bei bekannten Fehlern, wie unten gezeigt:

Screenshot des C++-Tests, der das Fenster zur Auswahl der Schadensbegrenzung mit einer Liste relevanter Fehler zeigt.

Automatisieren Sie die Dokumentation, die Sie benötigen

Das Ergebnis der Werkzeugqualifizierung ist Dokumentation und vieles mehr. Jeder durchgeführte Test mit Ergebnissen, jeder bekannte Fehler mit Abhilfe, manuelle Testergebnisse und Ausnahmen werden alle aufgezeichnet und gemeldet. Qualifizierungskits anderer Anbieter können lediglich reine Dokumentation sein, und ohne Automatisierung ist die Dokumentation der Compliance sehr mühsam.

Stattdessen werden mithilfe der Qualification Kits for C/C++test die kritischen Dokumente im Rahmen des Workflows für Sie generiert.

  • Werkzeugklassifizierungsbericht. Bestimmt die erforderliche Qualifikation und stellt die maximale Sicherheitsstufenklassifizierung für C/C++-Tests basierend auf den vom Benutzer ausgewählten Anwendungsfällen dar.
  • Werkzeugqualifizierungsplan. Beschreibt, wie C/C++test für den Einsatz in einem sicherheitsrelevanten Entwicklungsprojekt qualifiziert wird.
  • Werkzeugqualifizierungsbericht. Zeigt, dass der C/C++-Test gemäß dem Tool-Qualifizierungsplan qualifiziert wurde.
  • Handbuch zur Werkzeugsicherheit. Beschreibt, wie C/C++test sicher verwendet werden sollte, beispielsweise die Einhaltung von Sicherheitsstandards wie ISO 26262, IEC 61508 usw. in sicherheitskritischen Projekten

In jedem dieser Dokumente wird nur die Dokumentation generiert, die für die verwendeten Werkzeugfunktionen erforderlich ist, da der Umfang der Qualifikation zu Beginn des Projekts eingegrenzt wurde. Durch die Automatisierung und Einschränkung des Qualifikationsumfangs wird der Dokumentationsaufwand erheblich reduziert.

Fazit

Die Werkzeugqualifizierung für sicherheitskritische Softwareprojekte in der Automobil- , Luft- und Raumfahrt-, Bahn- und Funktionssicherheitsindustrie ist ein aufwendiger Prozess. Die Reduzierung des Qualifizierungsumfangs und die weitestgehende Automatisierung des Prozesses sind entscheidend, um den Arbeitsaufwand und die damit verbundene Monotonie zu verringern. Das Parasoft Tool Qualification Kit für C/C++test macht diesen Prozess so einfach und effizient wie möglich und entlastet unsere Kunden erheblich, sodass sie sich wieder auf die Entwicklung hochwertiger Produkte für ihre Kunden konzentrieren können.

Ein praktischer Leitfaden zur Beschleunigung der Einhaltung von MISRA C 2023 durch Testautomatisierung
Jetzt das Whitepaper herunterladen

„MISRA“, „MISRA C“ und das Dreieckslogo sind eingetragene Marken von The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. Alle Rechte vorbehalten.