Automatisieren Sie den Tool-Qualifizierungsprozess für sicherheitskritische Software

Von Markus Lambert

24. April 2018

5  min lesen

Automatisieren Sie den Tool-Qualifizierungsprozess, um den Zeit- und Arbeitsaufwand zu reduzieren, sodass Sie sich auf die Entwicklung hochwertiger Software konzentrieren können.

Sicherheitskritische Softwareentwicklungsstandards wie DO178B / C (Luft- und Raumfahrt), ISO 26262 (Automobil), EN-50128 (Eisenbahn) und IEC 61508 (funktionale Sicherheit) verlangen von den Herstellern, dass sie nachweisen, welche Werkzeuge sie für die Entwicklung verwenden Ihre Software liefert korrekte und vorhersehbare Ergebnisse. Der Prozess der Bereitstellung solcher Nachweise wird als Tool-Qualifizierung bezeichnet. Obwohl dies ein notwendiger Prozess ist, ist die Tool-Qualifizierung häufig eine mühsame und zeitaufwändige Aktivität, die viele Unternehmen nicht planen.

Das Endergebnis ist ein Beweis in Form einer Dokumentation, aber der Qualifizierungsprozess umfasst mehr als nur die Lieferung eines großen Stapels statischer Dokumentation. In diesem Beitrag zeige ich Ihnen, wie Sie Parasofts neues verwenden Qualifikationskits für den C / C ++ - TestDazu gehört ein praktischer Werkzeugassistent, der die Automatisierung ins Bild bringt und den Zeit- und Arbeitsaufwand für die Werkzeugqualifizierung reduziert.

Erstens: Stellen Sie sicher, dass das von Ihnen verwendete Tool zertifiziert ist

Die Werkzeugqualifizierung muss mit der Werkzeugauswahl beginnen, um sicherzustellen, dass Sie ein Entwicklungswerkzeug verwenden, das von einer Organisation wie TÜV SÜD zertifiziert ist. Dies reduziert den Aufwand für die Werkzeugqualifizierung erheblich. Parasoft C / C ++ test ist vom TÜV SÜD für funktionale Sicherheit gemäß den Normen IEC 61508 und ISO 26262 sowohl für hostbasierte als auch für eingebettete Zielanwendungen zertifiziert. Dies ebnet den Weg für eine optimierte Qualifizierung der statischen Analyse, der Einheitentests und der Abdeckungsanforderungen für die sicherheitskritischen Normen.

Zweitens: Reduzieren Sie den manuellen Aufwand für die Werkzeugqualifizierung

Traditionell bedeutete die Werkzeugqualifizierung einen erheblichen Aufwand an manueller Arbeit, Prüfung und Dokumentation 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 unseren Qualifizierungskits automatisieren. Die Steigerung der Produktivität und die Reduzierung menschlicher Fehler durch Automatisierung standen schon immer im Mittelpunkt unserer Aktivitäten bei Parasoft. Daher haben wir dieselbe Mission auf den Tool-Qualifizierungsprozess für den Parasoft C / C ++ - Test angewendet. Unsere Qualifizierungskits führen den Benutzer durch einen intuitiven Workflow, um den erforderlichen Aufwand drastisch zu reduzieren.

Zu den Vorteilen der Verwendung der Qualifizierungskits gehören:

  • Automatische Reduzierung des Qualifizierungsumfangs auf nur die Teile des verwendeten Werkzeugs
  • Automatisierung der für die Qualifikation erforderlichen Tests so weit wie möglich
  • Behandeln Sie manuelle Tests so eloquent wie möglich und integrieren Sie die Ergebnisse neben automatisierten Tests
  • Automatische Erstellung einer auditfertigen Dokumentation, die genau angibt, was qualifiziert wird, nicht mehr (oder weniger!)

Qualifizieren Sie nur das, was Sie verwenden

Warum sollten Entwickler Qualifizierungsmaterial für DO-178B / C durchsehen, wenn sie ein Automobilprojekt durchführen, für das ISO 26262 erforderlich ist? Was passiert, wenn Sie nur Teile unserer Tool-Suite verwenden? Es sollte keine zusätzliche Arbeit für die Qualifizierung von Funktionen erforderlich sein, die in Ihren Entwicklungsprodukten nicht verwendet werden. Die Reduzierung des Umfangs von Tests, Berichten und Dokumentationen ist ein wichtiger Weg, um den Arbeitsaufwand für die Qualifizierung zu verringern.

Das folgende Beispiel zeigt einen Benutzer, der den einzigen Anwendungsfall des verwendeten C / C ++ - Tests auswählt (statische Analyse), um die Einhaltung des MISRA C 2012-Standards als Teil der ISO 26262-Qualifikation zu überprüfen. Das Tool wählt dann nur die Teile der Qualifizierungssuite aus, die für diese Funktion benötigt werden.

 

Benutzer können Optionen deaktivieren, um den für ihr Projekt erforderlichen Umfang weiter zu reduzieren. Bei der Auswahl werden ab diesem Zeitpunkt nur noch Tests und Dokumentationen verwendet und bereitgestellt.

Qualifikationskit - Beispiel 2

Nutzen Sie Testautomatisierung und -analyse

Wenn die Qualifizierung von Testautomatisierungstools einen Vorteil hat, können die Tools zur Automatisierung ihrer eigenen Tests verwendet werden! Die Werkzeugqualifizierung erfordert, dass Tests durchgeführt und die Ergebnisse gemäß den von uns bereitgestellten Qualifizierungskits überprüft werden. Dies so weit wie möglich zu automatisieren ist der Schlüssel, um es so schmerzfrei wie möglich zu machen. Selbst manuelle Tests, die für jedes Entwicklungswerkzeug unvermeidlich sind, werden so effizient wie möglich durchgeführt. Schritt für Schritt werden Anweisungen bereitgestellt und die Ergebnisse als Teil des Qualifikationsprotokolls eingegeben und gespeichert.

Der Parasoft C / C ++ - Test sammelt und speichert alle Testergebnisse aus jedem Build, und die Tests werden wie für jede Art von Projekt ausgeführt. Diese Ergebnisse werden in den Parasoft-Qualifizierungskits in den Teststatus-Assistenten übernommen, um einen umfassenden Überblick über die Ergebnisse zu erhalten:

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

Was ist mit bekannten Mängeln?

Jedes Entwicklungstool hat bekannte Fehler, und jeder Anbieter, der diese nicht dokumentiert, tut Ihren Compliance-Bemühungen keinen Gefallen. Der Umgang mit bekannten Fehlern ist jedoch mehr als nur die Dokumentation. Für die Werkzeugqualifizierung müssen Sie nachweisen, dass diese Fehler die im Projekt verwendeten Ergebnisse nicht beeinflussen. Für jeden bekannten Fehler müssen Sie für jeden eine Minderung bereitstellen und diese zur Zufriedenheit des zertifizierenden Auditors dokumentieren.

Es ist Aufgabe des Werkzeugherstellers, die Behandlung bekannter Fehler so weit wie möglich zu automatisieren. Schließlich bitten wir Kunden, unsere Fehler im Rahmen ihrer Arbeitsbelastung zu beheben! Die Parasoft C / C ++ - Testqualifizierungskits enthalten einen Assistenten zur Automatisierung der Aufzeichnung der Schadensbegrenzung für bekannte Fehler, wie unten gezeigt:

Automatisieren Sie die Dokumentation, die Sie benötigen

Das Endergebnis der Werkzeugqualifizierung ist die Dokumentation und viele davon. Jeder mit Ergebnissen durchgeführte Test, jeder bekannte Fehler mit Schadensbegrenzung, manuelle Testergebnisse und Ausnahmen werden aufgezeichnet und gemeldet. Qualifizierungskits von anderen Anbietern können nur eine Dokumentation sein, und ohne Automatisierung ist die Dokumentation der Konformität sehr mühsam.

Stattdessen werden mithilfe der Qualifizierungskits für den C / C ++ - Test die kritischen Dokumente im Rahmen des Workflows für Sie generiert:

  • Werkzeugklassifizierungsbericht (bestimmt die erforderliche Qualifikation und präsentiert die maximale Sicherheitsstufe für den C / C ++ - Test basierend auf den vom Benutzer ausgewählten Anwendungsfällen)
  • Werkzeugqualifizierungsplan (beschreibt, wie der C / C ++ - Test für die Verwendung in einem sicherheitsrelevanten Entwicklungsprojekt qualifiziert wird)
  • Werkzeugqualifizierungsbericht (zeigt, dass der C / C ++ - Test gemäß dem Tool-Qualifizierungsplan qualifiziert wurde)
  • Werkzeugsicherheitshandbuch (beschreibt, wie der C / C ++ - Test sicher verwendet werden sollte, dh gemäß 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-, Eisenbahn- und Funktionssicherheitsbranche ist ein aufwändiger Prozess. Die Reduzierung des Qualifizierungsumfangs und die Automatisierung eines möglichst großen Teils des Prozesses ist der Schlüssel zur Reduzierung der Arbeitsbelastung und des langwierigen Qualifizierungsaufwands. Die Parasoft-Qualifizierungskits für den C / C ++ - Test machen dies so schmerzlos und effizient wie möglich, um die Belastung unserer Kunden erheblich zu verringern und sie wieder in die Lage zu versetzen, ihren Kunden qualitativ hochwertige Produkte zu liefern.

Neuer Call-to-Action

Von Markus Lambert

Mark, Vice President of Products bei Parasoft, ist dafür verantwortlich, dass Parasoft-Lösungen den Unternehmen, die sie einsetzen, einen echten Mehrwert bieten. Mark ist seit 2004 bei Parasoft und arbeitet mit einem breiten Querschnitt von Global 2000-Kunden zusammen, von spezifischen Technologieimplementierungen bis hin zu umfassenderen Initiativen zur Verbesserung von SDLC-Prozessen.

Erhalten Sie die neuesten Nachrichten und Ressourcen zum Testen von Software sofort.