Achieving Representative Faultloads in Software Fault Injection release_g3dv3oi6dnfixpfj5cpadjsegi

by Roberto Natella

Published by Università degli Studi di Napoli Federico II.

2011  

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.
In text/plain format

Archived Files and Locations

application/pdf  5.9 MB
file_jepwlosyt5futfen3qpurzcz2m
www.fedoa.unina.it (publisher)
web.archive.org (webarchive)
Read Archived PDF
Preserved and Accessible
Type  article-journal
Stage   published
Year   2011
Work Entity
access all versions, variants, and formats of this works (eg, pre-prints)
Catalog Record
Revision: 786384bc-65f8-4a99-9a16-feec0902c32a
API URL: JSON