Expertenbeitrag

 Mark Hermeling

Mark Hermeling

Senior Director Product Marketing, GrammaTech, Inc., GrammaTech, Inc.

IEC 62304 Norm verlangt sicherheitskritische Software Software in medizinischen Geräten

Autor / Redakteur: Mark Hermeling / Redaktions Team

Der IEC 62304 Standard definiert einen Risiko- und Qualitäts-bewußten Software-Entwicklungsprozess. Er entstand aus der Erkenntnis, dass Software in medizinischen Geräten eine tragende Rolle spielt, und dass die SW-Qualität und Schadensverhütung bei der SW-Entwicklung entscheidend sind. Von der Medizintechnik erwartet man, dass sie auf breiter Entwicklungspraxis basiert (unter dem Schirm eines Good Manufacturing Process). Software-Entwicklungstools und speziell statische Analysetools sind Teil einer guten Softwareentwicklungspraxis und unterstützen Medizingerätehersteller, um sichere und zuverlässige Software zu erzielen.

Anbieter zum Thema

Die Software für medizinische Geräte muss besonderen Anforderungen entsprechen.
Die Software für medizinische Geräte muss besonderen Anforderungen entsprechen.
(Pixabay)

Der IEC 62304 Standard definiert keine spezifischen Entwicklungstools, dennoch unterstreicht er die Notwendigkeit von strengen Tests, Abnahmekriterien und Rückverfolgbarkeit. Diese Funktionen ohne Tools auszuführen, ist nicht sinnvoll im Hinblick auf den Umfang der meisten Projekte im Bereich Medizintechnik-Software. Beispielsweise verlangt der Abschnitt 5.5.2 von IEC 62304 eine Verifizierung jeder Software-Komponente, und der Abschnitt 5.5.4 fordert zusätzliche Abnahmekriterien dafür.

Der Hersteller soll bei der Programmierung zusätzliche Abnahmekriterien einbeziehen, wie

  1.  richtiger Ereignisablauf; 

  2.  Daten- und Flusskontrolle; 

  3.  Geplante Ressourcen-Zuteilung; 

  4.  Fehlerhandhabung (Fehlerdefinition, Isolation, und Wiederherstellung); 

  5.  Initialisierung der Variablen; 

  6.  Selbstdiagnose; 

  7.  Speicherverwaltung und Overflows; und 

  8.  Randbedingungen. 


Viele dieser Akzeptanzkriterien eignen sich gut für die statische Analyse. Tatsächlich trifft das sosehr für die statische Analyse zu, dass die FDA (Food and Drug Administration USA) CodeSonar von GrammaTech zur Analyse von Software für Medizingeräte einsetzte, um die Qualität des Quellcodes zu evaluieren, nachdem es zu Fehlfunktionen bei Infusionspumpen kam.

Unterstützt die Zertifizierung

Die statische Analyse bietet mehrere Vorteile für die Entwicklung von sicherheitskritischer Software, die auch für Medizingeräte und Projekte im Bereich IEC 62304 zutreffen. Zusammengefasst ergänzt sie die dynamische Analyse und strenge Tests auf mehrere Arten:

  • Sie findet Fehler, die anderen Testtechniken entgehen: Das Testen von Einheiten wird oft mit dem Abdeckungsgrad gemessen, wie Anweisungs- und Entscheidungsüberdeckung. Auch wenn dies genau ist, gibt es Fehler, die es durch diese Testart schaffen, und die statische Analysetools auffinden können.
  • Fehlerauffindung zu einem frühen Zeitpunkt: Fehler so zu verhindern, dass sie nicht später beim Entwickler aufschlagen, ist die Idealsituation – das erspart Aufwendungen für Tests und Behebung, die sich im weiteren Projektverlauf nur erhöhen. 
  • Statische Analyse kann SOUP handhaben: Software of Unknown Pedigree/Provenance (SOUP) bzw. Software unbekannter Herkunft erfordert spezielle Handhabung im Medizingeräte-Einsatz. Gute statische Analysetools können die Qualität und Sicherheit von Fremd- und kommerzieller Standard-Software (einschl. ausführbare reine Binärdateien und Libraries) evaluieren.
  • Schnellerer Zertifizierungsnachweis:  Die Dokumentation der Ergebnisse aus Zulassungen von Software-Komponenten ist entscheidend, um die Erfüllung von Zertifizierungsstandards nachzuweisen. Mit umfassenden Berichtsfunktionen unterstützt die statische Analyse die Zertifizierungsanforderungen.

Die Wichtigkeit von SOUP

Der Standard legt für SOUP (typischerweise 3rd-Party und kommerzielle Software) fest, wie diese in Medizingeräte-Software gehandhabt werden soll, beispielsweise in Abschnitt 7.1.2 (Teil des Risk-Management Prozesses) oder in Abschnitt B1.2 (Anwendungsbereich).

Statische Analysetools können sowohl Quell- als auch Binärcode analysieren und bieten Qualitäts- und Sicherheitsberichte, die in die Risk-Management und Test-Abläufe einfließen.

Auch wenn der IEC 62034 Standard nicht ausdrücklich statische Analysetools fordert, bieten diese sehr überzeugende Argumente für ihren Einsatz. Die Möglichkeit, Test- und Abnahmeprozesse zu unterstützen und zu verbessern, und die Analyse von SOUP bedeuten höhere Qualität, Sicherheit und Zuverlässigkeit für medizinische Software.