Startseite » Allgemein »

Software auf Herz und Nieren testen

Informationstechnik: Statische Analyse-Tools kontrollieren Medizingeräte
Software auf Herz und Nieren testen

Viele medizinische Geräte sind ohne Software nicht denkbar. Grundbedingung für ihren Einsatz im Gesundheitswesen ist ihre fehlerfreie Funktion. Doch mit der Bedeutung wachsen auch Umfang und Komplexität der Software. Mit Analyse-Tools will man Fehlern frühzeitig auf die Spur kommen.

Die Überprüfung der meist riesigen Codemengen nach Defekten ist äußerst schwierig und wird mit der Zusammenlegung der Daten in Netzwerken noch komplexer. Allein mit Testläufen und manueller Überprüfung des Softwarecodes ist es nicht getan.

Ein bekanntes Beispiel aus der Medizintechnik ist das in den 1980er Jahren zur Krebsbehandlung eingesetzte Bestrahlungsgerät Therac-25: Während vorhergegangene Versionen des Geräts richtig funktionierten, wurden beim Therac-25 die Sicherheits- kontrollen zum Großteil in der Software- Programmsteuerung ausgeführt, außerdem entfernte man die Hardware-seitigen Sicherheitsverriegelungen. Diese Veränderungen im Softwaresystem des Geräts führten zur Fehlfunktion; es kam zu sechs bekannten Fällen an Überdosierung, wovon drei tödlich endeten. Dieser Zwischenfall führte 1987 zum Einsatzende des Therac-25.
Weil der einfachste Softwarefehler in einem medizinischen Gerät dramatische Konsequenzen haben kann, empfiehlt die FDA (Food and Drug Administration) neben einer gründlichen Überprüfung und Validierung der Software den Einsatz statischer Analysetools. Diese Form der Analyse evaluiert jeden möglichen Pfad der Software und findet Fehler schon früh im Entwicklungsprozess – also genau dann, wenn sie am kostengünstigsten zu beheben sind. So bietet sie den Herstellern medizinischer Software einen attraktiven Return on Investment (RoI). Denn der Aufwand zur Fehlerbehebung nach der Inbetriebnahme der Software kann bis zu 100 mal höher sein als er es im Entwicklungsprozess gewesen wäre.
„Den Herstellern stehen im Bereich der statischen Analyse neue Tools zur Verfügung, um den Code in ihren Geräten nachzuprüfen und zu optimieren“, erklärt Ben Chelf, Mitbegründer und CTO von Coverty. Die Fehlerüberprüfung mit statischen Analyse-Tools lässt sich sowohl bei der Programmierung der Softwaremodule als auch bei deren Zusammenführung im zentralen Entwicklungsprozess ausführen.
Mit Tools wie Coverity Prevent lassen sich etwaige Schäden und damit verbundene Kosten im Vorfeld vermeiden. Prevent findet Fehler wie Pufferüberläufe, Uninitialized Variables, Speicherlecks oder Null-Pointer-References und Deadlocks schon früh im Entwicklungszyklus. Das Tool der amerikanischen Coverity Inc. mit Hauptsitz in San Francisco ermöglicht die automatische Überprüfung von Codebasen, eine 100%ige Pfadabdeckung und erzielt eine False-Positive-Rate von durchschnittlich nur 15 %. Es ist in die bestehende Umgebung integrierbar.
Die Arbeitsweise von Coverity Prevent lässt sich in die drei Phasen Map, Identify und Resolve einteilen. Zuerst werden mit dem patentierten Software-DNA-Map-Analyse-system der Quellcode und die Entwicklungsumgebung bis zu den Links präzise dargestellt. Im zweiten Schritt folgen die detaillierte Analyse und Identifizierung von Fehlern. Die gefundenen Fehler werden schließlich im letzten Schritt automatisch den Entwicklern zugeordnet, die für deren Behebung verantwortlich zeichnen. Dazu erfolgt eine genaue Darstellung der Codebasis mit Pfaden und Ereignissen.
Wie sehr die statische Analyse die Entwickler unterstützt, verdeutlicht ein Beispiel: Ein führender Hersteller von Medizingeräten und Kunde von Coverity plante die Verbesserung der Sicherheit in einem Elektrokardiogramm (EKG). Mit rund 1 Million Codezeilen setzten die Entwickler auf Prevent zur automatischen Analyse jedes möglichen Ausführungspfads in ihren Anwendungen, bevor sie sie an die Qualitätssicherung zum Test übergaben.
Die Analyse zeigte, dass der Code in diesem EKG eine deutlich niedrigere Fehlerdichte aufwies als der in der Industrie übliche Durchschnitt (1 Fehler pro 1000 Codezeilen). Dennoch entdeckte sie mehrere Fehler einschließlich schwer auffindbarer Speicherlecks und Gleichzeitigkeitsprobleme. „Dadurch blieben dem Hersteller wochenlange Tests erspart“, so Ben Chelf. Zugleich konnte die Wahrscheinlichkeit von Fehlern im Einsatz verringert werden.
Bei der Auswahl eines statischen Analysetools für den medizinischen Bereich schlägt die FDA vor, sich sowohl an qualitativen – Konfigurierbarkeit, Integrierbarkeit, Priorisierung der Fehler durch den Entwickler, Multi-Threaded Checking – wie auch an quantitativen Kriterien – Genauigkeit (Anzahl der False-Positive-Ergebnisse), Vollständigkeit (Anzahl der tatsächlichen Fehler), Durchsatz (Geschwindigkeit der Analyse) – zu orientieren.
Die Implementierung eines statischen Analyseteools in den Entwicklungsprozess hängt grundsätzlich von der An- beziehungsweise Übernahme durch die Entwickler sowie von der Integration in den bestehenden Entwicklungsablauf ab. Vertrauen die Entwickler dem Analysetool nicht, etwa weil das Tool nicht auf die richtigen Fehler verweist, kann dies das sofortige Absetzen des Tools bewirken. Das macht die Kombination aus Präzision und Relevanz zu einer Voraussetzung für den erfolgreichen Einsatz.
Beate Lorenzoni Fachjournalistin in Erding b. München
Weitere Informationen www.coverity.com

Ihr Stichwort
  • Softwarecode
  • Analyse-Tools
  • Entwicklung
  • Programmierung
  • FDA
  • Unsere Webinar-Empfehlung
Aktuelle Ausgabe
Titelbild medizin technik 2
Ausgabe
2.2024
LESEN
ABO
Newsletter

Jetzt unseren Newsletter abonnieren

Titelthema: PFAS

Medizintechnik ohne PFAS: Suche nach sinnvollem Ersatz

Alle Webinare & Webcasts

Webinare aller unserer Industrieseiten

Aktuelles Webinar

Multiphysik-Simulation

Medizintechnik: Multiphysik-Simulation

Whitepaper

Whitepaper aller unserer Industrieseiten


Industrie.de Infoservice
Vielen Dank für Ihre Bestellung!
Sie erhalten in Kürze eine Bestätigung per E-Mail.
Von Ihnen ausgesucht:
Weitere Informationen gewünscht?
Einfach neue Dokumente auswählen
und zuletzt Adresse eingeben.
Wie funktioniert der Industrie.de Infoservice?
Zur Hilfeseite »
Ihre Adresse:














Die Konradin Verlag Robert Kohlhammer GmbH erhebt, verarbeitet und nutzt die Daten, die der Nutzer bei der Registrierung zum Industrie.de Infoservice freiwillig zur Verfügung stellt, zum Zwecke der Erfüllung dieses Nutzungsverhältnisses. Der Nutzer erhält damit Zugang zu den Dokumenten des Industrie.de Infoservice.
AGB
datenschutz-online@konradin.de