Internals of Fault Injection Techniques
Ravishankar K. Iyer, Zbigniew T. Kalbarczyk, Nithin M. Nakka · 2024
Fault/error injection can be applied to conduct detailed studies of the complex interactions between faults/errors and the fault-tolerance features designed to handle them. This chapter focuses on the underlying techniques for software-implemented fault injection. It describes the history of software fault injection and the categorization of its techniques. The chapter presents fault model attributes. It also describes how fault injection is applied in real-world systems. The attributes of the injections that can be used to benchmark systems are defined. The chapter also presents a case study of a sample system, NFTAPE (Networked Fault Tolerance and Performance Evaluator), to illustrate how to use the tools to conduct a set of operating system evaluation activities. It introduces a new generate of fault-injection techniques that are Bayesian based and demonstratively more comprehensive, and is deployed to assess autonomous vehicles' safety.