Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V....

28
Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssich erung von Software Fehleranalysen • PHA (Prophylactic hazard analalysis) • FTA (Failure Tree Analysis) • FMEA (Failure Mode and Effects Analysis)

Transcript of Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V....

Page 1: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

Dr. Hans-Werner WiesbrockZeSys e.V.

Zentrum zur Förderungeingebetteter Systeme e.V.

Qualitätssicherung von Software

Fehleranalysen• PHA (Prophylactic hazard analalysis)• FTA (Failure Tree Analysis)• FMEA (Failure Mode and Effects Analysis)

Page 2: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

Inhalt

Beispiel

PHA (Prophylaktische Hazard Analysis)

FTA (Failure Tree Analysis)

FMEA (Failure Mode & Effect Analysis)

Risiko Analyse und SW

1

2

3

4

5

Page 3: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

Inhalt

Beispiel

PHA (Prophylaktische Hazard Analysis)

FTA (Failure Tree Analysis)

FMEA (Failure Mode & Effect Analysis)

Risiko Analyse und SW

1

2

3

4

5

Page 4: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

Beispiel:HerzunterstützungssystemEXCOR® ein lebensrettendes Herzunterstützungssystem für Kinder und Erwachsene die an Herzinsuffizienz leiden.

Das System besitzt zwei Pumpen, die das Blut in die beiden Herzkammern pumpt, um den Druck zu erhöhen.

Software regelt die Motoren, die den Pumpdruck erzeugen. Abhängig von Patientendaten, Druckbedingungen wird der Blutfluss eingestellt und der systolische (oben) und diastolische (unten) Druck überwacht.

Neues System: Umschaltventil soll Betrieb auch bei Ausfall einer Pumpe ermöglichen, wechselseitiges Pumpen.

Page 5: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

ZuverlässigkeitVersagen des Systems kann Todesfolgen haben!Wie kann man das System sicher entwickeln? Besser, sicherer?

Jede Branche, Automotive, Avionik, Medizintechnik,… hat seine eigene Normen und Vorschriften, Techniken,…jede Firma seine bevorzugten Methoden.

Es gibt trotzdem gemeinsame Grundideen, Verfahrensweise und einige davon sollen hier vorgestellt werden.

Leitende Frage:Wie lässt sich systematisch die Zuverlässigkeit eines Produkt verbessern?

Was bedeutet Zuverlässigkeit? Sicher?Was bedeutet es für die Software?

SW verletzt nicht selber, aber das fälschlich angesteuerte Relais kann tödlich wirken!

Page 6: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

Ausschnitt: Medizintechnik

Normen und Vorschriften und ihre Abhängigkeiten!

ISO 13485„Medizinprodukte-Qualitätsmanagementsysteme-Anforderungen für regulatorische Zwecke“verlangt Risikoanalyse

Page 7: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

Inhalt

Beispiel

PHA (Prophylaktische Hazard Analysis)

FTA (Failure Tree Analysis)

FMEA (Failure Mode & Effect Analysis)

Risiko Analyse und SW

1

2

3

4

5

Page 8: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

PHA (Prophylaktische Hazard Analysis)Fehler im Herzunterstützungssystem können Todesfolgen haben

Schaden

Als Schaden definiert ISO 14971 „physische Verletzung oder Schädigung der Gesundheit von Menschen oder Schädigung von Gütern oder der Umwelt“

Gefährdung

Eine Gefährdung ist eine potenzielle Schadensquelle. Als Gefährdungssituation bezeichnet man die „Umstände, unter denen Menschen, Güter oder die Umwelt einer oder mehrerer Gefährdungen ausgesetzt

In der vorläufigen Gefährdungsanalyse werden mögliche Gefährdungen identifiziert.

Beispiel: Kronleuchter hängt in einem abschließbaren Zimmer

Page 9: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

PHA (Prophylaktische Hazard Analysis)

Es ist vorrangig erfahrungsbasiert und wenig systematisch:

• Branchen spezifische Checklisten• Produkt spezifische Checklisten• Erfahrungsberichte• Feldrückmeldungen• ….

Gefährdungen beim Herzunterstützungssystem:• Ausfall der Pumpen• Stromschlag• Leckage der Schläuche• …

Page 10: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

Inhalt

Beispiel

PHA (Prophylaktische Hazard Analysis)

FTA (Failure Tree Analysis)

FMEA (Failure Mode & Effect Analysis)

Risiko Analyse und SW

1

2

3

4

5

Page 11: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

FTA (Failure Tree Analysis)Wie kann es zu den Schäden kommen?

FTA (Fehlerbaumanalyse)Deduktives Verfahren, sucht Ursachen für Ausfälle,…Top-Down Analyse -> System Ansatz

Page 12: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

FTA (Failure Tree Analysis)

Eine PHA identifiziert die potenziellen Gefährdungen, eine Fehlerbaumanalyse zielt auf die Ursachen ab und damit, diese Gefährdungen in ihrem Schadensfall zu verhindern. Was muss passieren? In welcher Zusammenspiel?-> boolesche Verknüpfung von unglücklichen Ereignissen!Ihr Vorgehen ist Top-Down, eine Baum Zerlegung boolesch verknüpfter Ausfälle!

Beispiel:Fehler in der Software können zu erheblichen Schäden führen! Eine falsche Regelung der Pumpen kann zum Aufheizen des Blutes führen!Diese Ursachenkette zu erkennen ist eine Aufgabe der FTA!

•60er Jahre: Luft- und Raumfahrt•Mitte der 70er Jahre: Kerntechnik•Ende der 70er Jahre: Automobilindustrie•Anfang der 90er Jahre: weitere technische

und nichttechnische Bereiche

Page 13: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

FTA einer Eingebetteten BlutpumpeThrombose

Die Pumpen erwärmen sich zu stark

&

||

||

Erhitzen des Blutes wird nicht erkannt

Pumpen werden zu stark angetrieben

Falsche Drücke werden erzeugt

Blut erwärmt sich zu stark

Verklumpen des Blutes

Page 14: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

FTA und EntwicklungsprozessTop-Down Ansatz:Man benötigt Kenntnisse der Architektur!

Andererseits: Um Gefährdungen zu vermeiden, sollten bestimmte Architekturen verwendet werden!

HW/SW-Entwurf

Architektur

System- anfor- derungen

Analyse von System- Anforde- rungen, RAN

Analyse von SW/HW- Anforde- rungen

Modelltest, Modell- analyse

Unit-Test

Die verschiedenen Phasen sind miteinander eng verschränkt!

PH erstellen

Architektur entwerfen

Risiko Analyse

Konsolidierungund Freigabe

Entwicklungsphasen

Page 15: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

Inhalt

Beispiel

PHA (Prophylaktische Hazard Analysis)

FTA (Failure Tree Analysis)

FMEA (Failure Mode & Effect Analysis)

Risiko Analyse und SW

1

2

3

4

5

Page 16: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

Risiko Mindernde MaßnahmenBeispiele:

• Redundanzen, zwei Akkus anstelle eines• Trennung, Eingabe/Ausgabe läuft auf anderem Prozessor als die Regelung• Besondere Vorkehrungen, spezielle Buchsen für Schläuche•…

Risiko

Risiko ist definiert (ISO 14791) als Produkt der Wahrscheinlichkeit des Auftretens mit dem damit verbundenen Schaden.

Zuverlässigkeit

qualitativ• Grad der Fähigkeit einer Betrachtungseinheit, die geforderte Leistung während

einer vorgegebenen Zeitspanne zu erbringen

• Fähigkeit eines Systems, für eine gegebene Zeit korrekt zu arbeiten

Page 17: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

Begriff Beschreibung HäufigkeitGelegentlich Kann bei Bestimmungsgemäßem Gebrauch

vorkommen10-2 < p < 1

Unwahrscheinlich

10-8 < p < 10-6

Stochastische ZuverlässigkeitZuverlässigkeit / Verfügbarkeit

quantitativ

Wahrscheinlichkeit, System zu gegebenem Zeitpunkt in funktionstüchtigem Zustand anzutreffen

R(t) = P[kein Ausfall im Intervall 0..t] = 1- Wahrscheinlichkeit mindestens eines Ausfalls im Beobachtungszeitraum

Beispiel: •Todesfall des Patienten, p= 10-6 per anno => Risiko Schwerer Schaden * 10-6 per anno•106 Todesfälle, p = 10-12 per anno => gleiches Risiko !?!

Zulässiges Risiko wird Produkt spezifisch definiert -> Einstufung in Risikoklassen

Page 18: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

FMEA (Failure Mode & Effect Analysis)Unterschiede zwischen SW und HW:

# derAusfälle

t

SW

HWProduktionsfehler

Verschleiß

Wie können wir Risiken messen?Schaden = Kosten, Verlustrechnung,…, aber Ausfallwahrscheinlichkeit?

Beispiel:Stromausfall beim Herzunterstützungssystem

Page 19: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

FMEA (Failure Mode & Effect Analysis)FMEA

•Induktives Verfahren, •Wirkungsanalyse von Fehlverhalten•Fehlerfortpflanzung

Analysen sind auf Komponentenebene herunter zu brechen! Werkzeug ESSaRel (IESE)

Risikoprioritätszahl= A * E * B

• A = P(Auftreten): Eintrittswahrscheinlichkeit• E = P(Entdeckung): Wahrscheinlichkeit, dass Fehler sich

auswirkt bevor er entdeckt und beseitigt werden kann• B = Bedeutung: Gewicht der Folgen, Schaden

Page 20: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

FMEA (Failure Mode & Effect Analysis)PH erstellen

Architektur entwerfen

Risiko Analyse

Konsolidierungund Freigabe

EntwicklungsphasenZerlegung des Systems in berechenbare Teile:

• Blätter dürfen nicht abhängig voneinander sein(Cut sets)

• Ausfallswahrscheinlichkeiten müssen bestimmt werden können

• Abstrakte Fehlerfortpflanzung muss berechenbar sein

Betrachte alle möglichen Wege durch den FMEA Baum, von der Wurzel bis zu den Blättern, und berechne für diese die Risikoprioritätszahl. Die Gesamtsumme ergibt ein Maß für das verbliebene Risiko!

Es gibt riesige Datenbanken über die Ausfallwahrscheinlichkeit von HW Bauteilen!

Page 21: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

Inhalt

Beispiel

PHA (Prophylaktische Hazard Analysis)

FTA (Failure Tree Analysis)

FMEA (Failure Mode & Effect Analysis)

Risiko Analyse und SW

1

2

3

4

5

Page 22: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

FMEA und SW?

SW Systeme verhalten sich ‚deterministisch‘, Fehler sind reproduzierbar!Fehler werden am Anfang gemacht

• Spezifikationsfehler• Implementierungsfehler• …

Unterschiede zwischen SW und HW:

# derAusfälle

t

SW

HWProduktionsfehler

Verschleiß

Ausfallwahrscheinlichkeit von SW?

Möglicher Ansatz: Hazard-Rate proportional zur Anzahl enthaltener Fehler

Page 23: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

Fehlerwahrscheinlichkeit in SW?

μ(t) – Anzahl beobachteter Fehler

Annahme: Zuwachs pro Zeiteinheit proportional b zur Anzahl nicht entdeckter Fehler

μ(t) ≈ a ( 1 – exp(- b t ) ) , a = Gesamtfehlerzahl

λ0 = a b = Initial-Ausfallrate,

Entdeckte Fehleranzahl

100

200

300

Effektive Testzeit [PT]10 50 100 150

μ(t)210

λ(t) = λ0 exp(-bt) Ausfallrate zur Zeit t

Maximum-Likelihood => Parameter a,b

=> Schätzung benötigte Testzeit für vorgegebene Ausfallrate

Page 24: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

Fehlerwahrscheinlichkeit in SW?Sichere SW = höhere Qualität der SW => Anwendung verschiedener QS Techniken

• Simulation der Anforderungen Konzeptmodell

• Diversitäre Programmierung

• Effektives Testen Erfüllung von Testabdeckungskriterien Einsatz von Testmodelle

• Einsatz von Verifikationstechniken(setzt Architektonische Vorbedingungen voraus)

Modell Checking Theorem Proving

Page 25: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

Wie Risiken der SW Absichern?Architektonisch:

• Verwende sichere Architektur Muster o Trennung von Zuständigkeiteno Zentrale Steuerung komplexer Abläufe o Robustes Design (Fehlerbehandlungen)o …

• trenne über HW sicherheitsrelevante und andere SW

Prozess:• Definiere und installiere QM Prozess• Entwickle nach definiertem Prozess

o CMMI Capability Maturity Model Integration

o (Automotive) SPICE Software Process Improvement and Capability Determination

Page 26: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

Automotive SPICE – Capability Dimension

Optimising

Predictable

Established

Managed

Performed

Incomplete

1

2

3

4

5

0

• Process Dimension: RM, Design,… TP, Wartung • Capability Dimension

CL5CL4CL3CL2CL1CL0

P1 P2 P3 .......... Pn

Page 27: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

ZusammenfassungEingebettete Systeme können Gefahrenquellen bilden

Müssen zuverlässig sein (s. Definition der Zuverlässigkeit)

Risiko ist zu vermeiden (s. Risiko, Risikoanalyse, PHA, FTA, FMEA)

Entwicklungsprozess ist darauf abzustimmen (s. Verschränkung von RM, Architektur und RAN )

Bei SW greift eine FTA, nicht aber eine FMEA(s. Fehlerwahrscheinlichkeit in SW)

Prozess Vorgaben(s. SPICE, CMMI,…)

Page 28: Dr. Hans-Werner Wiesbrock ZeSys e.V. Zentrum zur Förderung eingebetteter Systeme e.V. Qualitätssicherung von Software Fehleranalysen PHA (Prophylactic.

LiteraturPeter Löw, Roland Pabst, Erwin Petry

Funktionale SicherheitDpunkt.verlag 2010

Christian Johner, Matthias Hölzer-Klüpfel, Sven Wittorf

Basiswissen Medizinische Softwaredpunkt.verlag 2011