Natella, Roberto (2011) Achieving Representative Faultloads in Software Fault Injection. [Tesi di dottorato] (Unpublished)

[thumbnail of thesis_natella.pdf]
Preview
PDF
thesis_natella.pdf

Download (5MB) | Preview
Item Type: Tesi di dottorato
Resource language: English
Title: Achieving Representative Faultloads in Software Fault Injection
Creators:
Creators
Email
Natella, Roberto
roberto.natella@unina.it
Date: 30 November 2011
Number of Pages: 239
Institution: Università degli Studi di Napoli Federico II
Department: Informatica e sistemistica
Scuola di dottorato: Ingegneria dell'informazione
Dottorato: Ingegneria informatica ed automatica
Ciclo di dottorato: 24
Coordinatore del Corso di dottorato:
nome
email
Garofalo, Francesco
franco.garofalo@unina.it
Tutor:
nome
email
Cotroneo, Domenico
cotroneo@unina.it
Date: 30 November 2011
Number of Pages: 239
Keywords: Software Faults, Fault Representativeness, Software Reliability, Fault Tolerance
Settori scientifico-disciplinari del MIUR: Area 09 - Ingegneria industriale e dell'informazione > ING-INF/05 - Sistemi di elaborazione delle informazioni
Date Deposited: 15 Dec 2011 12:08
Last Modified: 04 Dec 2014 08:22
URI: http://www.fedoa.unina.it/id/eprint/8833
DOI: 10.6092/UNINA/FEDOA/8833

Collection description

Given the complexity of modern software systems and its pervasiveness in many aspects of our lives, software faults (i.e., bugs) are a dangerous threat. Unfortunately, it is impossible to assure that software is perfect despite of advances in software engineering. Therefore, mission- and safety-critical systems have to provide fault tolerance algorithms and mechanisms to mitigate this threat. Software Fault Injection emerged in the last decades as a means for testing and improving fault-tolerant systems. This approach deliberately introduces faults in a software in order to assess its behavior in the presence of software faults. In order to be adopted by practitioners in the development of critical systems, and to assure an effective and trustworthy evaluation of fault tolerance, the realism of faults being injected (fault representativeness) need to be assured, i.e., the injected faults should reflect the residual faults that escape the development process and that can affect the system. This thesis addresses fault representativeness with respect to three aspects. First, it proposes an approach for selecting code locations in which to inject software faults in a complex software system. The approach identifies locations in which faults are more likely to hide from testing, in order to focus the injection on the most representative locations and to reduce the number and cost of experiments at the same time. Second, it proposes a method for improving the accuracy of faults injected in binary code, which is required when the source code is not available as in the case of third-party software. Finally, this thesis proposes a technique for emulating concurrency faults, which are a significant part of faults affecting complex software. These contributions are instrumental to advance Software Fault Injection and make it an effective and practical approach for developing fault-tolerant systems.

Downloads

Downloads per month over past year

Actions (login required)

View Item View Item