Software-Erosionsschutz für langlebige Software in der Medizintechnik

Success Story in Zusammenarbeit mit

Dieses Bild zeigt das Logo von Fresenius Medical Care

Software-Erosionsschutz für langlebige Software in der Medizintechnik

Die medizintechnischen Produkte von Fresenius Medical Care haben einen sehr langen Lebenszyklus. Um sie sicher weiterentwickeln zu können und ihre Wartbarkeit zu sichern, nutzt das Unternehmen die Axivion Suite für eine automatisierte Code- und Architekturanalyse.

Download Fresenius Medical Care Success Story als PDF

DIE HERAUSFORDERUNG ++

Die Dialyse-Geräte von Fresenius Medical Care (FMC) werden weltweit für die Blutwäsche von rund 300.000 Patienten eingesetzt. Das neueste Produkt aus dem Bereich Akutdialyse heißt multiFiltratePRO. Die Gerätesoftware selbst ist in C/C++ programmiert und wird viele Jahre kontinuierlich aktualisiert und weiterentwickelt werden. Insbesondere wegen der langen Laufzeit des Produktes stellt FMC hohe Ansprüche an die Qualität der Software und ihre Wartbarkeit. Mit einer gut gewarteten Software begegnet das Unternehmen auch den Herausforderungen der Obsoleszenz: Während des langen Produktzyklus’ werden immer wieder Bauteile abgekündigt, so dass die Software auf eine neue Hardware angepasst werden muss. Weiterhin gilt es, die Vorgaben für Medizingerätesoftware gemäß IEC 62304 bei der Entwicklung und Wartung der Software einzuhalten. Die Norm fordert die Anwendung von Codierungsrichtlinien und den Einsatz eines Tools für die statische Analyse, um Systeme nach dem Stand der Technik zu entwickeln, lässt dabei aber Freiheitsgrade bei der Umsetzung.

Da bei der Qualität von Software gerade bei Medizinprodukten keine Abstriche gemacht werden dürfen, betreibt FMC einen erheblichen Aufwand, um die Güte des Gesamtprodukts sicherzustellen. Bei allen Prüfschritten wie zum Beispiel den manuellen Tests, Code-Reviews und der Architektur-Validierung fallen ein großer Aufwand und damit Kosten an, die sich durch erneute Prüfungen im Laufe des langen Software-Lebenszyklus akkumulieren.

DIE LÖSUNG ++

Die Architektur der Software für die Geräte der multiFiltratePRO Serie wird mit Hilfe eines CASE-Tools modelliert. Werden neue Funktionen in das Produkt eingeführt, prüft das Team zunächst, ob die Architektur angepasst werden muss, und setzt dies bei Bedarf entsprechend um. Das Architekturmodell wird wie alle Entwicklungsergebnisse im Versionskontrollsystem gepflegt und für die Architektur-Prüfung herangezogen. An dieser Stelle setzt die Axivion Suite an: Sie prüft im Rahmen der Continuous Integration automatisiert den Quellcode per statischer Code-Analyse und führt dabei auch den Abgleich des Source Codes mit der Architektur aus dem CASE-Tool durch. Darüber hinaus identifiziert und lokalisiert die Axivion Suite Klone und toten Code, Metrikverletzungen und zyklische Abhängigkeiten. Wichtig ist auch das Monitoring von Stilverletzungen: Zur Einhaltung des Standards für medizintechnische Software werden angepasste MISRA-Checks sowie eine Prüfung der Einhaltung von weiteren FMC-spezifischen Regeln (zum Beispiel der Naming Conventions unter Zuhilfenahme eines spezifischen Dictionarys) durchgeführt. Dadurch wird die Qualität der Software entwicklungsbegleitend verbessert und Fehler werden frühzeitig vermieden.

Während der täglichen automatisierten Analyse ermittelt die Axivion Suite, welche Abweichungen neu sind. Diese zeitliche Unterscheidung lässt auch die Verwendung von „eingefrorenem“  Legacy Code zu, in dem sich nachvollziehbarermaßen mehr Abweichungen finden, die aber aus Regressionsgründen nicht aktiv angegangen werden. Bei FMC liegt der Schwerpunkt in erster Linie auf der Vermeidung neuer Verstöße, um so einer schleichenden Software-Erosion entgegenzuwirken.

Das Ergebnis der Analyse teilt die Axivion Suite dem Entwickler zeitnah mit, per E-Mail sowie als interaktiver Report auf einem Dashboard. Anhand dieses direkten Feedbacks hat der Entwickler die Möglichkeit, seinen Code zu korrigieren oder eine nachträgliche Anpassung der Architektur zu initiieren.

Wichtig für FMC ist an dieser Stelle auch der Lerneffekt für die Entwickler: Durch die direkte Rückmeldung zu einem erst kürzlich erstellten Code entwickeln sie ein besseres Verständnis für das Architekturmodell und die restlichen gültigen Regeln und können die Vorgaben so  langfristig besser umsetzen.

DER ERFOLG ++

Mit der Axivion Suite kann FMC mehrere Herausforderungen für die Software seiner Dialyse-Geräte meistern: Zunächst verhindert die ständige und vollständige Überprüfung neu erstellten Codes Abweichungen vom Architekturmodell sowie Fehler und problematische Abhängigkeiten im Code, die die Qualität des Produktes beeinträchtigen können. Ferner unterstützt die Axivion Suite durch entsprechende CodeChecks FMC bei der Einhaltung der IEC 62304.

Mit der Einführung der automatisierten Analyse durch die Axivion Suite reduzierte FMC den Zeit- und Kostenaufwand für die Prüfungen erheblich, ohne dabei Abstriche bei der Qualitätssicherung der Software machen zu müssen. Dieser eingesparte Aufwand kann jetzt dafür genutzt werden, das Produkt langfristig weiter zu entwickeln und Innovationen voranzutreiben.

Basierend auf den regelmäßigen Feedbacks sorgt die Analyse für eine zeitnahe Bearbeitung von Problemstellen im Code oder eine zielführende Änderung am Architekturmodell. Gleichzeitig profitieren Projekt und Entwickler selber von einem verbesserten Verständnis für die Architektur und einer positiv verlaufenden Lernkurve für die C/C++-Programmierung.

Die hohe Codequalität, die sich dank der automatisierten Code-Analyse erzielen lässt, erhöht auch die Wartbarkeit von Produkten mit langer Laufzeit – wie der Dialyse-Geräte der multiFiltratePRO-Serie von FMC. Außerdem sinkt die Abhängigkeit von der Hardware: Bei abgekündigter Hardware ist eine Migration und der Reuse of Code einfacher, schneller und kostengünstiger zu bewerkstelligen.

ÜBER FRESENIUS MEDICAL CARE ++

Fresenius Medical Care ist der weltweit führende Anbieter von Produkten und Dienstleistungen für Menschen mit  Nierenerkrankungen, von denen sich weltweit mehr als 2,6 Millionen Patienten regelmäßig einer Dialysebehandlung unterziehen. In einem Netz aus 3.402 Dialysezentren betreut das Unternehmen weltweit 290.250 Dialysepatienten. Fresenius Medical Care ist zudem der führende Anbieter von Dialyseprodukten wie Dialysegeräten und Dialysefiltern. Im Bereich Versorgungsmanagement baut das Unternehmen sein Angebot zusätzlicher medizinischer Dienstleistungen rund um die Dialyse aus. Fresenius Medical Care ist an der Börse Frankfurt (FME) und an der Börse New York (FMS) notiert.
Bildquellen: Fresenius Medical Care