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

[img]
Anteprima
PDF
thesis_natella.pdf

Download (5MB) | Anteprima
[error in script] [error in script]
Tipologia del documento: Tesi di dottorato
Lingua: English
Titolo: Achieving Representative Faultloads in Software Fault Injection
Autori:
AutoreEmail
Natella, Robertoroberto.natella@unina.it
Data: 30 Novembre 2011
Numero di pagine: 239
Istituzione: Università degli Studi di Napoli Federico II
Dipartimento: Informatica e sistemistica
Scuola di dottorato: Ingegneria dell'informazione
Dottorato: Ingegneria informatica ed automatica
Ciclo di dottorato: 24
Coordinatore del Corso di dottorato:
nomeemail
Garofalo, Francescofranco.garofalo@unina.it
Tutor:
nomeemail
Cotroneo, Domenicocotroneo@unina.it
Data: 30 Novembre 2011
Numero di pagine: 239
Parole chiave: 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
Depositato il: 15 Dic 2011 12:08
Ultima modifica: 04 Dic 2014 08:22
URI: http://www.fedoa.unina.it/id/eprint/8833
DOI: 10.6092/UNINA/FEDOA/8833

Abstract

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)

Modifica documento Modifica documento