5.9 Methodenkategorie "Zuverlässigkeitsmodelle" (ZUVM)


5.9.1 Übersicht

Zuverlässigkeitsmodelle wurden historisch zuerst im Hardware-Bereich eingesetzt, sie werden zunehmend jedoch auch auf Software übertragen. Während im Hardwarebereich Zuverlässigkeitsbetrachtungen mit Ausfällen infolge Alterung oder Verschleiß verbunden werden, spielen im Softwarebereich Alterung oder Verschleiß keine Rolle. Im Softwarebereich müssen Einschränkungen der Zuverlässigkeit auf Fehler innerhalb der Softwareerstellung zurückgeführt werden. Die Auswirkungen dieser Fehler sind ebenso wie Alterungs- oder Verschleißausfälle nicht vorhersehbar.

Zuverlässigkeitsmodelle lassen sich folgendermaßen klassifizieren:

  1. Statistische Modelle,
  2. Modell der Fehlereinstreuung.

Die verschiedenen Ansätze werden in den Einzelbeschreibungen näher erläutert. Die Auswahl eines Zuverlässigkeitsmodells ist projektspezifisch vorzunehmen.


5.9.2 Einzelbeschreibungen

Im folgenden werden einige gebräuchliche Zuverlässigkeitsmodelle aufgeführt. Eine ausführlichere Beschreibung der Modelle ist im Rahmen der Anlage 1 nicht möglich.


5.9.2.1 Statistische Modelle

Statistische Modelle beruhen auf einer Abschätzung von Werten ausgehend von verfügbaren Daten über Software-Fehler.

Statistische Modelle lassen sich unterscheiden in Modelle, die auf der Zeit zwischen der Entdeckung von zwei Fehlern beruhen, und in Modelle, die auf der Fehleranzahl beruhen (/ Goel, 85 /).

Modelle, die auf der Zeit zwischen der Entdeckung von zwei Fehlern beruhen, sind beispielsweise:

  1. Jelinski-Moranda-Modell
  2. Modell von Schick und Wolverton

Unter der Annahme, daß Fehler sofort nach ihrer Entdeckung behoben werden, kann davon ausgegangen werden, daß die Zeit zwischen der Aufdeckung von Fehlern tendenziell zunimmt.

Modelle, die auf der Fehleranzahl beruhen, sind beispielsweise:

  1. Modell von Goel und Okumoto
  2. Ausführungszeitmodell von Musa
  3. Logarithmisches Poisson Ausführungszeitmodell von Musa und Okumoto

Unter der Annahme, daß Fehler sofort nach ihrer Entdeckung behoben werden, kann davon ausgegangen werden, daß die Anzahl der entdeckten Fehler mit der Zeit abnimmt.

Da es sich bei den Modellen um wahrscheinlichkeitstheoretische Modelle handelt, liegen den Modellen eine Reihe von Annahmen zugrunde. Die wichtigste Annahme ist sicher, daß die Fehler unabhängig auftreten. Desweiteren wird in der Regel angenommen, daß die Fehlerkorrektur erfolgreich verläuft.

Der Nachteil der statistischen Modelle liegt darin, daß sich vernünftige wahrscheinlichkeitstheoretische Aussagen erst nach einer gewissen Anwendungsdauer machen lassen. Es ist mit diesen statistischen Modellen nicht möglich, die Zuverlässigkeit von Software vor ihrem Einsatz zu bestimmen.

In / Musa, 83 / werden für die Auswahl von statistischen Zuverlässigkeitsmodellen folgende Kriterien vorgeschlagen:

Unter "Genauigkeit der Vorhersage" versteht man die Fähigkeit des Modells, das zukünftige Fehlerverhalten vorherzusagen.

"Nützlichkeit" bezieht sich auf die Fähigkeit des Modells, Werte abzuschätzen. Solche Werte sind beispielsweise:

Bezüglich der "Qualität der Annahmen" sollte geprüft werden, inwieweit die Annahmen durch verfügbare Daten bestätigt werden können.

Die "Einfachheit" kann sich auf mehrere Aspekte beziehen. Zunächst einmal sollte es einfach sein, die für das Modell benötigten Daten zu sammeln. Weiterhin sollte das Modell vom Konzept her so einfach sein, daß es ohne großen mathematischen Hintergrund verstanden werden kann.


5.9.2.1.1 Modell von Goel und Okumoto


1 Identifikation/Definition der Methode

/ Goel, 79 /


2 Kurzcharakteristik der Methode

Das Modell dient der:

Das Modell geht davon aus, daß die Anzahl der Softwarefehler in jedem Zeitintervall einer Poisson-Verteilung folgt.


3 Literatur

/ Goel, 79 / Originalliteratur

/ Misra, 83 / Beispiel einer Anwendung des Modells in einem Projekt der NASA


5.9.2.1.2 Ausführungszeitmodell von Musa


1 Identifikation/Definition der Methode

/ Musa, 75 /


2 Kurzcharakteristik der Methode

Das Modell erlaubt die Abschätzung des Testaufwands bezogen auf die Ausführungszeit, um einen vorgegebenen Wert für die MTBF zu erreichen. Die Ausführungszeit kann anschließend in die Kalenderzeit umgesetzt werden. Weiterhin kann die aktuelle MTBF und die Anzahl der verbleibenden Fehler abgeschätzt werden. In dem Modell wird angenommen, daß die Fehlerabdeckungsrate proportional zu der enthaltenen Restfehleranzahl ist.


3 Literatur

/ Musa, 75 / Originalliteratur

/ Musa, 86 / Kurzbeschreibung des Modells, Vergleich mit anderen Methoden

/ Musa, 87 / Kurzbeschreibung des Modells, Anwendungsbeispiele für Zuverlässigkeitsmodelle


5.9.2.1.3 Logarithmisches Poisson-Ausführungszeitmodell von Musa und Okumoto


1 Identifikation/Definition der Methode

/ Musa, 84 /


2 Kurzcharakteristik der Methode

Das Modell dient der Vorhersage der erwarteten Fehleranzahl. Es basiert auf der Ausführungszeit, allerdings kann diese auch in die Kalenderzeit umgesetzt werden.


3 Literatur

/ Musa, 84 / Originalliteratur

/ Musa, 86 / Kurzbeschreibung des Modells, Vergleich mit anderen Methoden

/ Musa, 87 / Kurzbeschreibung des Modells, Anwendungsbeispiele für Zuverlässigkeitsmodelle


5.9.2.1.4 Jelinski-Moranda-Modell


1 Identifikation/Definition der Methode

/ Jelinski, 72 /


2 Kurzcharakteristik der Methode

Das Modell dient der Ermittlung

Dem Modell liegen die folgenden Annahmen zugrunde:

Als Daten müssen zur Verfügung stehen:

In dem Modell wird angenommen, daß die Fehlerentdeckungsrate proportional zu der enthaltenen Restfehleranzahl ist. Die Restfehleranzahl nimmt nach dem Modell exponentiell ab.


3 Literatur

/ DGQ, 86 / Kurzbeschreibung des Modells (S. 59-60)

/ Jelinski, 72 / Originalliteratur


5.9.2.1.5 Modell von Schick und Wolverton


1 Identifikation/Definition der Methode

/ Schick, 73 /


2 Kurzcharakteristik der Methode

Das Modell dient der Ermittlung

Dem Modell liegen die folgenden Annahmen zugrunde:

In dem Modell wird angenommen, daß die Fehlerentdeckungsrate proportional zu der enthaltenen Restfehleranzahl und zu der vergangenen Zeit seit Auftreten des letzten Fehlers ist.


3 Literatur

/ Schick, 73 / Originalliteratur


5.9.2.2 Modell der Fehlereinstreuung


1 Identifikation/Definition der Methode

/ Dunn, 84 /


2 Kurzcharakteristik der Methode

Bei dem Modell der Fehlereinstreuung (Error Seeding) wird eine festgelegte Anzahl künstlich erzeugter Fehler im Programmcode "ausgestreut". Danach führt man Testläufe durch und betrachtet innerhalb der insgesamt entdeckten Fehler die Relation der tatsächlichen Fehler zu den künstlich erzeugten. Den Testern sind selbstverständlich die eingestreuten Fehler nicht bekannt. In einer ersten Näherung läßt sich die Anzahl der unentdeckten Fehler folgendermaßen abschätzen:

FU = FG * (FE / FEG)

wobei FU = Anzahl der unentdeckten Fehler
FG = Anzahl der nicht eingestreuten entdeckten Fehler
FE = Anzahl der eingestreuten Fehler
FEG = Anzahl der eingestreuten entdeckten Fehler


3 Literatur

/ Dunn, 84 / Beschreibung des Modells

/ Goel, 85 / Kurzbeschreibung des Modells