TU Darmstadt / ULB / TUprints

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.
Book, Primary publication

This is the latest version of this item.

[img]
Preview
Text
dissw_corrected.pdf - Updated Version
Copyright Information: In Copyright.

Download (1MB) | Preview
Item Type: Book
Type of entry: Primary publication
Title: On the Utility of Higher Order Fault Models for Fault Injections
Language: English
Referees: Suri, Ph.D. Neeraj ; Cotroneo, Ph.D. Domenico
Date: 21 September 2015
Place of Publication: Darmstadt
Date of oral examination: 7 May 2015
Corresponding Links:
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.

Alternative Abstract:
Alternative AbstractLanguage

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.

German
URN: urn:nbn:de:tuda-tuprints-46339
Classification DDC: 000 Generalities, computers, information > 004 Computer science
Divisions: 20 Department of Computer Science
20 Department of Computer Science > Dependable Embedded Systems & Software
Date Deposited: 21 Sep 2015 10:00
Last Modified: 19 Sep 2023 18:01
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/4633
PPN: 364284994
Export:

Available Versions of this Item

Actions (login required)
View Item View Item