Qualitätssicherung von Software

Slides:



Advertisements
Ähnliche Präsentationen
8. Termin Teil B: Wiederholung Begriffe Baum
Advertisements

Prof. Dr. Liggesmeyer, 1 Software Engineering: Dependability Prof. Dr.-Ing. Peter Liggesmeyer.
Definition [1]: Sei S eine endliche Menge und sei p eine Abbildung von S in die positiven reellen Zahlen Für einen Teilmenge ES von S sei p definiert.
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Stochastik und Markovketten
Die Laufzeit von randomisierten (zufallsgesteuerten) Algorithmen hängt von gewissen zufälligen Ereignissen ab (Beispiel Quicksort). Um die Laufzeiten dieser.
Vorlesung Programmieren II
Gedanken zur Redundanz - ein Einführungsvortrag -
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Strukturfunktionsgenerierung
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software-Entwicklung eingebetteter Systeme
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Prof. Dr. Holger Schlingloff
Qualitätssicherung von Software (SWQS)
Qualitätssicherung von Software (SWQS)
Eingebettete Systeme Qualität und Produktivität
B-Bäume.
Qualitätssicherung von Software
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Qualitätssicherung von Software
Modellbasierte Software-Entwicklung eingebetteter Systeme
Prof. Dr. Holger Schlingloff
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Prof. Dr. Holger Schlingloff
Prof. Dr. Holger Schlingloff
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Modellbasierte Software-Entwicklung eingebetteter Systeme
Qualitätssicherung von Software
Spezifikation, Verifikation, Testtheorie Prof. Dr. Holger Schlingloff Institut für Informatik und Fraunhofer FIRST.
LE LM 10 - LO3 Verfahren zur Qualitätssicherung
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Aufgaben des Testens Vergleich des Verhaltens einer Software mit den an sie gestellten.
Gliederung Definition des Wahrscheinlichkeitsbegriffes
Forschungsstatistik II Prof. Dr. G. Meinhardt SS 2005 Fachbereich Sozialwissenschaften, Psychologisches Institut Johannes Gutenberg Universität Mainz KLW-17.
Forschungsstatistik II
Algorithmentheorie 04 –Hashing
Suche in Texten: Suffix-Bäume
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Kapitel 5 Stetigkeit.
Kapitel 6 Differenzierbarkeit. Kapitel 6: Differenzierbarkeit © Beutelspacher Juni 2005 Seite 2 Inhalt 6.1 Die Definition 6.2 Die Eigenschaften 6.3 Extremwerte.
Vortrag im Rahmen des Seminars
Vorlesung: 1 Betriebssysteme 2007 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebssysteme Hochverfügbarkeit (Einführung) 3. Quartal.
Vorlesung: 1 Betriebssysteme 2008 Prof. Dr. G. Hellberg Studiengang Mechatronik FHDW Vorlesung: Betriebssysteme Hochverfügbarkeit (Einführung) 2. Quartal.
Algorithmen des Internets 2005 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität 1 Materialien zu Übung 9 Bälle in Körbe Ranged.
Normalformen Normalisieren Schlüssel
Statistische Methoden I SS 2005 Vorlesung:Prof. Dr. Michael Schürmann Zeit:Freitag (Pause: ) Ort:Hörsaal Loefflerstraße Übungen.
II. Wahrscheinlichkeitstheorie
Maximum-Likelihood-Schätzer ( diskreter Fall) Likelihood-Funktion mit oder M-L-Schätzer.
Tutorium
(Un-)sicherheiten in der Ökosystemmodellierung
Ausgleichungsrechnung I
Ausgleichungsrechnung II
EBAV® (Experience Based Asset Valuation)
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Statistik: Mehr zur Regression.
1 (C) 2002, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz Wahrscheinlichkeitsverteilung Lernziele: Wahrscheinlichkeitsverteilung und der Wahrscheinlichkeitsdichte.
Modellbasierte Software-Entwicklung eingebetteter Systeme
Analyse der Laufzeit von Algorithmen
Software in sicherheitsrelevanten Systemen
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
K. Desch - Statistik und Datenanalyse SS05
K. Desch - Statistik und Datenanalyse SS05 Statistik und Datenanalyse 1.Wahrscheinlichkeit 2.Wahrscheinlichkeitsverteilungen 3.Monte-Carlo-Methoden 4.Statistische.
Die Binomialverteilung
 Präsentation transkript:

Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST

Wo stehen wir? Zuverlässigkeitstheorie Einleitung, Begriffe, Software-Qualitätskriterien manuelle und automatisierte Testverfahren Verifikation und Validierung, Modellprüfung statische und dynamische Analysetechniken Softwarebewertung, Softwaremetriken Codereview- und andere Inspektionsverfahren Zuverlässigkeitstheorie FMEA, FMECA Fehlerbaumanalyse stochastische Softwareanalyse Qualitätsstandards, Qualitätsmanagement, organisatorische Maßnahmen 7. Zuverlässigkeit 2.2.2005

Zuverlässigkeitstheorie Quantitative Ermittlung von Ausfallwahrscheinlichkeiten Ursprung: Bewertung von Hardware Alterung, Umwelteinflüsse, Materialfehler, … Auch für Software einsetzbar? Zertifizierungsproblematik, z.B. Cenelec vorausschauende Hinweise auf Schwachstellen FMEA, FMECA 7. Zuverlässigkeit 2.2.2005

Fehlerbaumanalyse (Fault tree analysis, FTA; DIN 25424) entwickelt 1961 von H.A. Watson, Bell Labs Bewertung eines Raketen-Abschuss-Systems für SW und eingebettete Systeme erweitert Systematische Suche nach Fehlerursachen Elimination von singulären Schwachstellen Top-down, von der Wurzel zu den Blättern Jede Ebene im Baum zeigt den selben Sachverhalt, jedoch mit verschiedenen Detaillierungsgraden Wurzel repräsentiert Bedrohung, Blätter repräsentieren atomare Fehler (Ereignisse) Innere Knoten sind Abstraktionen von Ereignismengen 7. Zuverlässigkeit 2.2.2005

Symbole Grundsymbole Zusatzsymbole 7. Zuverlässigkeit 2.2.2005 aus: Liggesmeyer, p.435 7. Zuverlässigkeit 2.2.2005

Vorgehensweise Top-Down-Analyse Verfeinerung der Wirkzusammenhänge beginnend mit unerwünschtem Ereignis DIN: Nichtverfügbarkeit einer Einheit = Wahrscheinlichkeit des Ausfalls zu einem Zeitpunkt (Verteilungsfunktion F(t)) Analyse von Systemfunktionen Umgebungsbedingungen Hilfsquellen Komponenten Organisation 7. Zuverlässigkeit 2.2.2005

Beispiele aus: N. Leveson, Safeware 7. Zuverlässigkeit 2.2.2005

7. Zuverlässigkeit 2.2.2005

Berechnung Für boolesche Verknüpfungen Und: F(t)=F1(t) * F2(t) Oder: F(t)=F1 (t) + F2(t) - F1 (t)*F2 (t) Nicht: F(t)=1 - F´(t) Unabhängigkeit von Ereignissen beachten! Jedem Blatt im Fehlerbaum wird Risiko und Wahrscheinlichkeit zugeordnet Risiko bedeutet finanzieller/materieller Verlust Wahrscheinlichkeit ggf. als Funktion der Zeit  Bottom-up-Berechnung nach vorstehenden Regeln ergibt Prioritätenliste der Risiken 7. Zuverlässigkeit 2.2.2005

Schnitte (Cut sets) Ein Schnitt ist eine Menge von Basisereignissen, so dass gilt: Falls irgendein Ereignis des Schnittes nicht eintritt, wird auch das Ereignis der Wurzel nicht eintreten Repräsentation des Fehlerbaumes durch Schnitte: Und-Oder-Baum mit zwei Stufen Informationen zur Bewertung von Systemschwächen (Relevanz von Ereignissen für den Schadensfall) 7. Zuverlässigkeit 2.2.2005

Pause! 7. Zuverlässigkeit 2.2.2005

stochastische Zuverlässigkeitsmodelle Idee: Quantifizierung der Zuverlässigkeit R (reliability) eines technischen (HW/SW-) Systems (vgl. SW-Metriken) Alterung: R=R(t) abhängig von der Zeit (Überlebenswahrscheinlichkeit) z.B. mittlere Betriebsdauer zwischen Ausfällen bei Ausführungen Software: abhängig vom „Reifegrad“ HW: Erhöhung der Zuverlässigkeit durch Redundanz, Fehlertoleranzkonzepte, … SW: Übertragung der Konzepte? (ANSI/AIAAR013-1992, Recommended Practice for Software Reliability) 7. Zuverlässigkeit 2.2.2005

Definition Zuverlässigkeit Zuverlässigkeit (reliability) Grad der Fähigkeit einer Betrachtungseinheit, die geforderte Leistung während einer vorgegebenen Zeitspanne zu erbringen Wahrscheinlichkeit der Abwesenheit von Ausfällen über dem Beobachtungszeitraum R(t)=P[kein Ausfall im Intervall 0..t] vergleichbar Verfügbarkeit (availability): Maß für die Wahrscheinlichkeit, dass die geforderte Leistung zu einem Zeitpunkt erbracht werden kann Verlässlichkeit (dependability): Maß für das gerechtfertigte Vertrauen in die Leistung eines Systems 7. Zuverlässigkeit 2.2.2005

Ausfallwahrscheinlichkeit F(t) = Wahrscheinlichkeit (mindestens) eines Ausfalls im Beobachtungszeitraum F(t) = 1 - R(t) Oft sind F(t) und R(t) exponentiell verteilt (e-t) Software: Anteil der fehlerhaften an allen betrachteten Programmausführungen F(t) = limn (nf / n) erste Ableitung ist Ausfalldichte: f(t) = dF(t) / dt Tendenz der Ausfallwahrscheinlichkeit 7. Zuverlässigkeit 2.2.2005

Ausfallrate Ausfallrate: Wahrscheinlichkeit, dass sich ein Ausfall pro Zeiteinheit in einem Intervall [t,t+] ereignet, gegeben Ausfallfreiheit bis zu t F(t+)-F(t) / *R(t) Häufigkeit, mit der sich Ausfälle in einem Intervall ereignen Hazard-Rate: bedingte Ausfalldichte z(t) = f(t) / R(t) Grenzwert der Ausfallrate für kleine Intervalle 7. Zuverlässigkeit 2.2.2005

p: Wahrscheinlichkeit des Versagens in einem Programmlauf (1-p): Wahrscheinlichkeit des Nichtversagens (1-p)n: Wahrscheinlichkeit des Nichtversagens in n paarweise unabhängigen Läufen Wahrscheinlichkeit mindestens eines Versagens in n Läufen: 1-(1-p)n 7. Zuverlässigkeit 2.2.2005

p ≤ µ, wobei µ vorgegeben ist Aussagesicherheit Unter der Annahme, dass ein System bei allen Beobachtungen niemals versagt, ist p natürlich nicht exakt bestimmbar; berechenbar ist eine obere Schranke für p: p ≤ µ, wobei µ vorgegeben ist Mit Simulationsläufen ist die Wahrscheinlichkeit dieser Aussage bestimmbar: β = P(p ≤ µ) β heißt Aussagesicherheit der Hypothese 7. Zuverlässigkeit 2.2.2005

Zusammenhang von µ, β und n Wahrscheinlichkeit, dass in n Läufen höchstens x Versagensfälle auftreten: Ausdruck nimmt mit wachsendem p monoton ab Wähle µ(x) so, dass Dann gilt: Daraus folgt (X=0): 7. Zuverlässigkeit 2.2.2005

Poisson-Verteilung statt binomischer Verteilung der Erwartungswerte ergibt eine ähnliche Ausfalldichtefunktion Formel reflektiert die erreichbare Aussagesicherheit bei gegebener Oberschranke für die Versagenswahrscheinlichkeit in Abhängigkeit von der Anzahl der versagensfreien Programmläufe 7. Zuverlässigkeit 2.2.2005

Beispielwerte für µ=10-4 n β β = 1 - (1 - µ)n = 1 - 0,9999n 5000 0,3934845 10000 0,63213895 15000 0,77688658 20000 0,86467825 25000 0,91792526 30000 0,9502204 35000 0,9698079 40000 0,98168802 45000 0,9888935 50000 0,99326374 β n 7. Zuverlässigkeit 2.2.2005

Zuverlässigkeitsmodelle Makromodelle Außenverhalten des Systems, Black-Box-Sicht Ausfallrate proportional zur Zahl der enthaltenen Fehler Mikromodelle innere Struktur, White-Box-Sicht Ausfallrate abhängig von der Aufrufstruktur 7. Zuverlässigkeit 2.2.2005

Beispiel: Jelinski-Moranda-Makromodell Hazard-Rate proportional zur Anzahl enthaltener Fehler feste anfängliche Gesamtfehlerzahl jeder Fehler verursacht mit gleicher Wahrscheinlichkeit und Rate Fehler aufgetretene Fehler werden sofort beseitigt (konstante Änderung bei jeder Programmversion) Abschätzung der Zahl der ursprünglichen Fehler durch Beobachtung von Ausfällen über einen Zeitraum Berechnung der Anzahl der Restfehler und des erforderlichen QS-Aufwandes 7. Zuverlässigkeit 2.2.2005

Beispiel: Shooman-Mikromodell Berücksichtigung der Programmstruktur: Aufteilung in Segmente (Module, Klassen, Funktionen,…) Schätzung der relativen Ausführungshäufigkeit und –zeit sowie der Fehlerwahrscheinlichkeit je Segment (Instrumentierung des Quelltextes) Fehler sind nicht gleichverteilt große Module nicht zwangsweise fehlerbehaftet keine strenge Korrelation Testfehler-Produktfehler Berechnung der Fehlerrate aus dem Quotienten von fehlerhaften Ausführungen und zugehörigen Ausführungszeiten Trendanalyse für verbleibende Fehleranzahl 7. Zuverlässigkeit 2.2.2005

Bewertung der Modelle über 40 Varianten in der Literatur kein ideales Modell (viel Spielraum) Schätzungen, keine Vorhersagen! langfristige Kalibrierung nötig Genauigkeit „bis zu +-5%“ erreichbar Werkzeuge verfügbar 7. Zuverlässigkeit 2.2.2005

Literaturempfehlungen Wolfgang Ehrenberger: Software-Verifikation, Verfahren für den Zuverlässigkeitsnachweis von Software; Hanser Verlag Peter Liggesmeyer: Formale und stochastische Methoden zur Qualitätssicherung technischer Software http://pi.informatik.uni-siegen.de/stt/20_3/20_3_Liggesmeyer.pdf F.Belli, M.Grochtmann, O. Jack: Erprobte Modelle zur Quantifizierung der Software-Zuverlässigkeit; Informatik Spektrum 21: 131–140 (1998) Jelinski, Z., Moranda, P.B., Software reliability research; in: Statistical Computer Performance Evaluation, W. Freiberger, Ed., New York, Academic, 465-484, 1972 Shooman, M., Operational testing and software reliability during program development; in Rec. 1973 IEEE Symp. Comput. Software Rel., New York, 51-57, 1973. 7. Zuverlässigkeit 2.2.2005