TU Darmstadt / ULB / TUbiblio

On the Utility of Higher Order Fault Models for Fault Injections

Winter, Stefan (2015)
On the Utility of Higher Order Fault Models for Fault Injections.
Buch, Erstveröffentlichung

Kurzbeschreibung (Abstract)

Fault injection (FI) is an experimental technique to assess the robustness of software by deliberately exposing it to faulty inputs and stressful environmental conditions specified by fault models. As computing hardware is becoming increasingly parallel, software execution is becoming increasingly concurrent. Moreover, to exploit the potential of increasingly parallel and interconnected computing systems, the complexity of the software stack, comprising operating systems, drivers, protocol stacks, middleware and distributed applications, also grows. As a consequence, the fault models classically used for in-lab robustness assessments no longer match the reality of fault conditions that modern systems are exposed to. In my thesis I account for this development by proposing the construction of higher order fault models from classical models by different means of composition. To demonstrate the effectiveness of such higher order models, I define a set of four comparative fault model efficiency metrics and apply them for both classical and higher order models. The results show that higher order models identify robustness issues that classical models fail to detect, which supports their adoption in the assessment of modern software systems. While higher order models can be implemented with moderate effort, they result in a combinatorial explosion of possible fault conditions to test with and, more severely, they introduce an ambiguity to experimental result interpretation that results in an increased number of required tests to maintain the expressiveness of assessment results. To mitigate the overhead that the adoption of higher order fault models entails, I propose to increase the experiment throughput by concurrently executing experiments on parallel hardware. The results show that such parallelization yields the desired throughput improvements, but also that care has to be taken in order not to threaten the metrological compatibility of the results. To account for resource contention in concurrent experiment executions that can lead to result deviations, I present a calibration approach that provides timeout values for the safe configuration of hang failure detectors. The experimental environment to conduct concurrent experiments is based on a generic FI framework developed in the context of my thesis that is highly adaptable to a variety of different target systems and that has been released under an open source license.

Typ des Eintrags: Buch
Erschienen: 2015
Autor(en): Winter, Stefan
Art des Eintrags: Erstveröffentlichung
Titel: On the Utility of Higher Order Fault Models for Fault Injections
Sprache: Englisch
Referenten: Suri, Ph.D. Neeraj ; Cotroneo, Ph.D. Domenico
Publikationsjahr: 2015
Ort: Darmstadt
Datum der mündlichen Prüfung: 7 Mai 2015
URL / URN: http://tuprints.ulb.tu-darmstadt.de/4633
Zugehörige Links:
Kurzbeschreibung (Abstract):

Fault injection (FI) is an experimental technique to assess the robustness of software by deliberately exposing it to faulty inputs and stressful environmental conditions specified by fault models. As computing hardware is becoming increasingly parallel, software execution is becoming increasingly concurrent. Moreover, to exploit the potential of increasingly parallel and interconnected computing systems, the complexity of the software stack, comprising operating systems, drivers, protocol stacks, middleware and distributed applications, also grows. As a consequence, the fault models classically used for in-lab robustness assessments no longer match the reality of fault conditions that modern systems are exposed to. In my thesis I account for this development by proposing the construction of higher order fault models from classical models by different means of composition. To demonstrate the effectiveness of such higher order models, I define a set of four comparative fault model efficiency metrics and apply them for both classical and higher order models. The results show that higher order models identify robustness issues that classical models fail to detect, which supports their adoption in the assessment of modern software systems. While higher order models can be implemented with moderate effort, they result in a combinatorial explosion of possible fault conditions to test with and, more severely, they introduce an ambiguity to experimental result interpretation that results in an increased number of required tests to maintain the expressiveness of assessment results. To mitigate the overhead that the adoption of higher order fault models entails, I propose to increase the experiment throughput by concurrently executing experiments on parallel hardware. The results show that such parallelization yields the desired throughput improvements, but also that care has to be taken in order not to threaten the metrological compatibility of the results. To account for resource contention in concurrent experiment executions that can lead to result deviations, I present a calibration approach that provides timeout values for the safe configuration of hang failure detectors. The experimental environment to conduct concurrent experiments is based on a generic FI framework developed in the context of my thesis that is highly adaptable to a variety of different target systems and that has been released under an open source license.

Alternatives oder übersetztes Abstract:
Alternatives AbstractSprache

Fehlerinjektion (FI) ist eine experimentelle Methode zur Bewertung von Softwarerobustheit, bei der Software gezielt fehlerhaften Eingaben und widrigen Betriebsbedingungen, gemäß spezifizierter Fehlermodelle, ausgesetzt wird. Mit zunehmend paralleler Hardware wird die Ausführung von Software zunehmend nebenläufig. Mit der Bestrebung das Potenzial dieser zunehmend parallelen und vernetzten Systeme auszuschöpfen, wächst die Komplexität des gesamten Softwarestacks über hardwarenahe Schichten wie Betriebsysteme, Treiber und Netzwerkprotokolle bis hin zu Middleware und verteilten Anwendungen. In der Folge ändern sich die Fehlermanifestationen, denen Softwarekomponenten in dieser geänderten Umgebung ausgesetzt sind, in einer Weise, die durch jeher zur Anwendung kommenden Fehlermodelle nicht abgedeckt wird. Mit dem Ziel dieser Entwicklung entgegenzuwirken, entwerfe ich im Rahmen meiner Arbeit Fehlermodelle höherer Ordnung durch Kombination bestehender Fehlermodelle. Um die Nutzbarkeit dieser Modelle vergleichend bewerten zu können, entwickle ich vier Effizienzmetriken, anhand derer ich Modelle höherer Ordnung mit herkömmlichen Modellen vergleiche. Das Ergebnis der Studie zeigt, dass Modelle höherer Ordnung Robustheitsschwächen aufdecken, die bei der Verwendung herkömmlicher Modelle unentdeckt bleiben, was ihre Anwendung bei der Robustheitsbewertung moderner Softwaresysteme nahelegt. Wenngleich sich der Entwicklungsaufwand für Modelle höherer Ordnung in Grenzen hält, führt ihre Anwendung zu einer kombinatorischen Explosion der Anzahl möglicher Fehlerzustände und, gravierender, zu einer Mehrdeutigkeit der experimentellen Ergebnisse, die eine höhere Anzahl von Tests zwingend erfordert um die Aussagekraft der Bewertung zu erhalten. Um den so mit der Verwendung von Modellen höherer Ordnung einhergehenden zeitlichen Mehraufwand bei der Bewertung zu mindern, verfolge ich einen Ansatz zur nebenläufigen Ausführung von Experimenten auf paralleler Hardware. Obwohl der Ansatz die gewünschte Durchsatzsteigerung erzielt, zeigen die Ergebnisse auch, dass er bei unachtsamer Anwendung die metrologische Kompatibilität der Ergebnisse kompromittiert. Um den ursächlichen Ressourcenkonflikten entgegenzuwirken, stelle ich einen Ansatz zur Kalibrierung von Zeitbeschränkungen zur Fehlerdetektion vor, der diese Probleme vermeidet. Die Umgebung zur Durchführung nebenläufiger Experimente basiert auf einem im Rahmen meiner Arbeit entwickelten generischen Framework für Fehlerinjektionen, das für eine Vielzahl von Zielsystemen anwendbar ist und unter einer Open-Source-Lizenz veröffentlicht wurde.

Deutsch
URN: urn:nbn:de:tuda-tuprints-46339
Sachgruppe der Dewey Dezimalklassifikatin (DDC): 000 Allgemeines, Informatik, Informationswissenschaft > 004 Informatik
Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik
20 Fachbereich Informatik > Zuverlässige Eingebettete Softwaresysteme
Hinterlegungsdatum: 27 Sep 2015 19:55
Letzte Änderung: 29 Mai 2016 21:18
PPN:
Referenten: Suri, Ph.D. Neeraj ; Cotroneo, Ph.D. Domenico
Datum der mündlichen Prüfung / Verteidigung / mdl. Prüfung: 7 Mai 2015
Export:
Suche nach Titel in: TUfind oder in Google
Frage zum Eintrag Frage zum Eintrag

Optionen (nur für Redakteure)
Redaktionelle Details anzeigen Redaktionelle Details anzeigen