Seien Sie am 30. April dabei: Vorstellung von Parasoft C/C++test CT für kontinuierliche Tests und Compliance-Exzellenz | Registrierung

Automatisieren Sie den Tool-Qualifizierungsprozess für sicherheitskritische Software

Kopfbild von Ricardo Camacho, Director of Safety & Security Compliance
16. November 2023
5 min lesen

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.

Sicherheitskritische Softwareentwicklung Normen, wie z DO-178C (Luft- und Raumfahrt), ISO 26262 (Automobil), IEC 62304 (medizinisch) und EN 50128 (Funktionale Sicherheit) verlangen von Herstellern den Nachweis, dass die von ihnen zur Entwicklung ihrer Software verwendeten Tools korrekte und vorhersehbare Ergebnisse liefern. Der Prozess der Bereitstellung eines solchen Nachweises wird als Tool-Qualifizierung bezeichnet. Obwohl es sich um einen notwendigen Prozess handelt, ist die Werkzeugqualifizierung oft eine mühsame und zeitaufwändige Tätigkeit, die viele Unternehmen nicht planen können.

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

Werkzeugqualifikation Sie müssen mit der Werkzeugauswahl beginnen und sicherstellen, dass Sie ein Entwicklungstool verwenden, das von einer Organisation wie dem TÜV SÜD zertifiziert ist. Dadurch wird der Aufwand bei der Werkzeugqualifizierung deutlich reduziert. Parasoft C/C++-Test ist zertifiziert vom TÜV SÜD für funktionale Sicherheit gemäß den Standards IEC 62304, EN 50128, IEC 61508 und ISO 26262 sowohl für hostbasierte als auch eingebettete Zielanwendungen und ebnet den Weg für eine optimierte Qualifizierung von statischen Analysen, Komponententests und Codeabdeckungsanforderungen für funktionale Sicherheit. Kritische 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 einen Benutzer, der den einzigen Anwendungsfall von C/C++-Test auswählt (statische Analyse), um die Einhaltung der Anforderungen zu überprüfen MISRA C 2023 Standard, als Teil der ISO 26262-Qualifizierung. Das Tool wählt dann nur die Teile des Qualifizierungskits aus, die für diese Funktion benötigt werden. Für die Qualifizierung werden fünf funktionale Sicherheitsstandards 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.

Zusammenfassung

Die Werkzeugqualifizierung für sicherheitskritische Softwareprojekte in der Automobil-, Luft- und Raumfahrt-, Eisenbahn- und funktionalen Sicherheitsindustrie ist ein aufwändiger Prozess. Die Reduzierung des Qualifizierungsumfangs und die größtmögliche Automatisierung des Prozesses sind der Schlüssel zur Reduzierung des Arbeitsaufwands und der Langeweile der Qualifizierung. Das Parasoft Tool Qualification Kit für C / C ++ - Test macht dies so schmerzlos und effizient wie möglich, um die Belastung für unsere Kunden erheblich zu reduzieren, sodass sie wieder qualitativ hochwertige Produkte für ihre Kunden liefern können.

Ein praktischer Leitfaden zur Beschleunigung der Einhaltung von MISRA C 2023 durch Testautomatisierung

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