Unterstützung von FDA-Normen
Die Nutzung von statischen Code-Analysetools wie GrammaTech CodeSonar während der Entwicklung von sicherheitskritischer Software für die Medizintechnik hilft bei der Qualitätssicherung und Verbesserung der Zuverlässigkeit der Software, so wie bei der Einsparung von Zeit und Geld.Die Programmierregeln der FDA für die Validierung von Software für medizinische Geräte ("General Principles of Software Validation") klassifizieren CodeSonar als ein Software-Verifikationswerkzeug. Software-Validierung steigert die Benutzerfreundlichkeit und Zuverlässigkeit des Gerätes, führt zu geringeren Ausfallraten sowie weniger Rückrufen und korrigierenden Aktionen. Dies hat weniger Risiken für Patienten und Nutzer zur Folge. Hierdurch werden Gefahren und Kosten durch die Haftung der Gerätehersteller reduziert.
Die allgemeinen Prinzipien der Software-Validation umfassen alle Aspekte der Softwareentwicklung. Die Bereiche, die mit CodeSonar abgedeckt werden, sind im Folgenden beschrieben.
Unterstützung von FDA-Regeln durch CodeSonar
3.1.2 Verifikation und Validation
"Software verification looks for consistency, completeness, and correctness of the software and its supporting documentation."CodeSonar ist ein automatisches statisches Code-Analysewerkzeug zum Aufdecken von Programmierfehlern und Sicherheitslücken. Zusätzlich zum Finden von Bugs liefert CodeSonar nützliche Metriken, Reporting-Tools und ein ausgezeichnetes Visualisierungssystem für die Softwarearchitektur. Die Einbindung von CodeSonar in den Verifizierungsprozess bietet alle Vorteile, die in diesem Abschnitt der FDA-Regeln behandelt werden.
4.2 Fehlervorbeugung
"Software quality assurance needs to focus on preventing the introduction of defects into the software development process and not on trying to test quality into the software code after it is written."Die Nutzung von CodeSonar während des Softwareentwicklungsprozesses ermöglicht das frühe Aufdecken und Fixen von Bugs, ohne dass diese in die spätere Phase der Qualitätssicherung verschoben werden muss. Workflow-Automatisierungsfunktionen unterstützen große Teams in einer gestrafften und koordinierten Weise bei der Bearbeitung von Fehlerausgaben.
4.7 Software-Validierung nach einer Änderung
"Whenever software is changed, a validation analysis should be conducted not just for validation of the individual change, but also to determine the extent and impact of that change on the entire software system."Automatisierte statische Code-Analyse macht diesen Prozess einfach. Die Nutzung von CodeSonar erlaubt eine schnelle und effiziente Analyse des Codes. Im Besonderen kann die inkrementelle Analyse von CodeSonar viel Zeit einsparen. Hierbei werden nur diejenigen Teile neu analysiert, die verändert worden sind.
4.8 Validierungs-Coverage
"Validation coverage should be based on the software´s complexity and safety risk, not on firm size or resource constraints."Als statisches Code-Analysetool überprüft CodeSonar immer alle möglichen Pfade.
4.9 Unabhängigkeit des Reviews
"Self-validation is extremely difficult. When possible, an independent evaluation is always better, especially for higher risk applications."Die automatisierte Analyse durch CodeSonar ist unabhängig. Arbeitsplatz-Integrationsfunktionen bieten zusätzliche Sicherheit bei der Auslegung der Unabhängigkeit.
5.2.4 Konstruktion oder Coding
"Source code should be evaluated to verify its compliance with specified coding guidelines... regarding clarity, style, complexity management, and commenting. Source code evaluations are often implemented as code inspections and code walkthroughs. Such static analyses provide a very effective means to detect errors before execution of the code."Die Unterstützung von Coding-Standards und Qualitätsinitiativen durch CodeSonar ermöglicht eine effiziente Einhaltung von Programmierrichtlinien. Dank individueller Anpassungen, integrierten Kontrollen und Erweiterungsmöglichkeiten werden viele Architekturprobleme automatisch angezeigt. Eingebaute und individuell anpassbare Komplexitätsmetriken werden auf Projekt-, Datei- und Funktionsebene angezeigt und erlauben ein schnelles Identifizieren von problematischen Codebereichen.
5.2.5 Testen durch den Software-Entwickler
"Code-based testing... identifies test cases based on knowledge obtained from the source code, detailed design specification, and other development documents... Structural testing can identify dead code that is never executed when the program is run."Die statische Analyse ist komplementär zu anderen Testarten. Die Analyse von CodeSonar kann zur Steuerung der Testfallentwicklung und zur Lösung von Fragen bzgl. der Testabdeckung genutzt werden. Die Architektur-Visualisierung ermöglicht dem Reviewer die strukturellen Eigenschaften der Software auf verschiedenen Ebenen zu überprüfen.
5.2.7 Wartung und Softwareänderungen
"When changes are made to a software system, either during initial development or during post release maintenance, sufficient regression analysis and testing should be conducted to demonstrate that portions of the software not involved in the change were not adversely impacted."Die Nutzung von CodeSonar führt zu wesentlicher Zeitersparnis bei der Analyse von großen Projekten. Die inkrementellen Analysefähigkeiten des Tools ermöglichen eine Beschränkung der Prüfungen auf geänderte Codeteile. Die CodeSonar-Datenbank liefert eine Aufzeichnung von vorherigen Analysen.
6.3 Validatierung von "Off-The-Shelf-Software" und "Automated Equipment"
"...the device manufacturer should consider auditing the vendor´s design and development methodologies used in the construction of the OTS software and should assess the development and validation documentation generated for the OTS software."CodeSonar bietet verschiedene Methoden zur Analyse von Thrid-Party-Software-Komponenten. Fremdgelieferter Quellcode kann durch CodeSonar analysiert werden. Falls nur der Binärcode verfügbar ist, kann dieser mit der CodeSonar-Binary-Analyse oder einem von tausenden Modellen, die mit CodeSonar geliefert werden oder durch Schreiben Ihres eigenen Modells überprüft werden.
Weitere Informationen
GrammaTech CodeSonarErfüllung von anderen Normen









