Verifysoft Technology

Software-Validierung: Die Risiken in der Medizintechnik minimieren

| Autor / Redakteur: Klaus Lambertz / Kathrin Schäfer

Moderne Medizingeräte sind in der Regel softwaregetrieben.Sobald ein Versagen der Software oder des Medizingerätes zu Schäden für den Patienten oder das medizinische Personal führen kann, sind für alle Phasen des Software Development Lifecycles (SDLC) strenge Regeln einzuhalten.
Moderne Medizingeräte sind in der Regel softwaregetrieben.Sobald ein Versagen der Software oder des Medizingerätes zu Schäden für den Patienten oder das medizinische Personal führen kann, sind für alle Phasen des Software Development Lifecycles (SDLC) strenge Regeln einzuhalten. (Bild: ©bluebay2014 - stock.adobe.com)

Für Software in Medizingeräten fordern einschlägige Normen aufwändige und nachvollziehbare Maßnahmen zur Qualitätssicherung. Dabei spielt das Testing eine zentrale Rolle. Bei Embedded-Systemen ist dies jedoch oft eine Herausforderung, die mit speziellen Methoden gemeistert werden muss.

  • Anforderungen der IEC 62304
  • Validierung und Verifizierung von Software mit hohem Gefährdungspotenzial
  • Testabdeckung oder Code Coverage als Nachweis, dass Software mit angemessenen Methoden getestet wurde

Um den Anforderungen gerecht zu werden, die besonders an Software mit hohem Gefährdungspotenzial zu stellen sind, muss die Anwendung validiert und vor allem verifiziert werden. IEC 62304 zum Beispiel fordert in Abschnitt 5.5.2, dass der Hersteller einen Software Unit Verification Process etabliert. Genauer: Er muss eine Strategie, Methoden und Abläufe einführen, um jeden Software-Teil zu verifizieren. Und dieses auch zur Zulassung dokumentieren und nachweisen. Hier ist das Testing das wichtigste Verfahren, um die korrekte Funktion und Betriebssicherheit zu gewährleisten. Der Nachweis, dass Software ganz oder in Teilen mit den angemessenen Methoden getestet wurde, ist die Testabdeckung oder Code Coverage. Grundsätzlich gilt: Je höher die Sicherheitsanforderungen an eine Software, desto höher ist die geforderte Testabdeckung. Dabei wird durch einen Code Coverage Analyser erfasst, welche Teile einer Anwendung im Rahmen des Testings wie oft durchlaufen wurden.

Dafür muss die Anwendung um Zähler erweitert werden, die die Testdurchläufe erfassen. Bei den in der Medizintechnik weit verbreiteten Embedded-Geräten ist das nicht trivial. Denn diese so genannte Instrumentierung des Codes macht den Code umfangreicher und reduziert die Ausführungsgeschwindigkeit. Dadurch kann das Testergebnis signifikant verzerrt werden. Hier sollte der Tester darauf achten, einen Code Coverage Analyser mit einem vergleichsweise geringen Instrumentierungs Overhead zu nutzen, da die Zähler sonst schnell die Grenzen des verfügbaren Speichers sprengen. Das gilt insbesondere, wenn sehr anspruchsvolle Testabdeckungsstufen erforderlich sind.

Fachbuch „Industrie 4.0“Das Fachbuch „Industrie 4.0: Potenziale erkennen und umsetzen" bietet Professionals einen umfassenden und praxisorientierten Einblick in die Digitalisierung von Fertigung und Produktion. „Industrie 4.0“ kann hier versandkostenfrei oder als eBook bestellt werden.

Sollte das Code-Coverage-Tool einen zu hohen Instrumentation-Overhead haben, kann diese mit einer partiellen Instrumentierung umgangen werden. Dabei werden nur kleine Ausschnitte des Programms instrumentiert und getestet. Der Test wird nacheinander mit allen Programmteilen wiederholt, die daraus gewonnenen Daten werden zu einem Gesamtbild zusammengefügt. Dadurch kann die Testabdeckung für das vollständige Programm ermittelt werden.

Ein anderer Ansatz auf kleinen Targets ist, die Größe der Zähler zu beschränken. Normalerweise arbeiten Code-Coverage-Werkzeuge mit 32-Bit-Zählern. Diese können zumindest theoretisch auf 16 oder 8 Bit reduziert werden. Hierbei sollte man allerdings Vorsicht walten lassen, denn unter Umständen können die Zähler dann überlaufen. Die gewonnenen Daten müssen also mit großer Sorgfalt interpretiert werden.

Eine Automatisierung der Qualitätssicherung ist unverzichtbar

Neben dem Testing als letzter Instanz der Validierung und Zertifizierung hat sich heute auch die statische Code-Analyse etabliert. Dabei wird die zu verifizierende Anwendung nicht ausgeführt. Das Analyse-Tool erstellt – ähnlich wie ein Compiler – eine Intermediate Representation des Codes. An diesem Modell werden dann alle möglichen Kontroll- und Datenströme durchlaufen, um Programmierfehler oder Sicherheitslücken aufzuspüren. Damit ergänzt die statische Analyse das dynamische Testing um eine zusätzliche Schicht, die sich sehr gut bereits in sehr frühen Entwicklungsphasen in die Tool-Chain und den Entwicklungsprozess integrieren lässt.

Ergänzendes zum Thema
 
Software unterliegt strengen Regeln
Software ist in allen Lebensbereichen mehr oder minder kritisch. Ganz besonders gilt dies in der Medizintechnik, wo Embedded-Geräte wie Herzschrittmacher oder Insulinpumpen einen entscheidenden Anteil am Wohlergehen der Patienten haben.

Um Embedded-Systeme mit hoher Zuverlässigkeit und gleichzeitig vertretbarem wirtschaftlichen Aufwand zu verifizieren, ist zudem eine weitgehende Automatisierung der Qualitätssicherung unverzichtbar. Denn zum einen stellt jedes manuelle Eingreifen in die Prozesse eine potenzielle Fehlerquelle dar. Zum anderen verursacht es zusätzliche, vermeidbare Kosten. Code Coverage Analyser wie Testwell CTC++ lassen sich deswegen eng in die vorhandenen Build-Systeme integrieren. Die möglichst enge Integration ist auch dann wichtig, wenn nach agilen Prinzipien entwickelt wird, um kurze Build-Times zu gewährleisten.

Der Nachweis, dass ein System im Rahmen des Software-Verifizierung korrekt, vollständig und der Risikoklasse angemessen getestet wurde, ist mit einigem Aufwand verbunden. Spezielle, auf die Anforderungen der Embedded-Systeme angepasste Code-Coverage-Analysen können die damit verbundenen Probleme deutlich entschärfen. Die vorgelagerte statische Code-Analyse hilft dabei, zahlreiche Fehler bereits frühzeitig innerhalb des SDLC zu finden und zu beseitigen. Werden beide Ansätze automatisiert und in das Build-System integriert, erfolgt die Verifizierung der Anwendung mit geringem Aufwand und zu darstellbaren Kosten.

Lesen Sie auch:

Software als Medizinprodukt: Definitionen und Handlungsempfehlungen

Grundlagenwissen

Software als Medizinprodukt: Definitionen und Handlungsempfehlungen

13.06.18 - Software erfordert immer häufiger eine Zulassung als Medizinprodukt. Wann genau ist das der Fall und was ist dabei zu beachten? Grundlagenwissen für Medizinprodukte-Hersteller. lesen

Qualitätsmanagement in der Medizintechnik: Definitionen, Ziele und Tools

Grundlagenwissen

Qualitätsmanagement in der Medizintechnik: Definitionen, Ziele und Tools

30.04.18 - Für die Herstellung von Medizinprodukten ist ein hinreichendes Qualitätsmanagement unverzichtbar. Was sind die rechtlichen Voraussetzungen und einschlägigen Normen in der Medizintechnik? Welche Tools sorgen in der Praxis für Qualität? lesen

Weitere Artikel über Software für die Medizintechnik finden Sie in unserem Themenkanal Konstruktion.

* Der Autor: Klaus Lambertz ist Geschäftsführer der Verifysoft Technology GmbH. Das Unternehmen ist auf Code-Coverage und Testing-Tools spezialisiert.

Kommentare werden geladen....

Diesen Artikel kommentieren

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

DER COMMUNITY-NEWSLETTER Newsletter abonnieren.
* Ich bin mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung einverstanden.
Spamschutz:
Bitte geben Sie das Ergebnis der Rechenaufgabe (Addition) ein.
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45689184 / Konstruktion)