Enabling Technology

FAULT injection consists in voluntarily introducing perturbations into a system in order to accelerate the analysis of its behavior in the presence of faults. In particular, fault injection provides a pragmatic approach for validating fault-tolerant systems. Indeed, it can be viewed as method for testing with respect to a particular class of “inputs”, i.e., the faults that such systems are intended to handle. Fault injection also allows measurements of the efficiency (coverage, latency, etc.) of fault-tolerance mechanisms.

Our recent work is concerned with the definition of a method for characterizing the failure modes of operating systems based on commercial micro-kernels. Our technique for behavior analysis in the presence of faults is based on the corruption of (a) service requests from the application and (b) data and code segments of the functional components of the target micro-kernel.

MAFALDA

MAFALDA (Microkernel Assessment by Fault injection AnaLysis and Design Aid) is a generic tool providing quantitative information on COTS microkernels to support their integration into dependable systems. The main originality of MAFALDA relies on the features provided for both the analysis of the failure modes of the target microkernel and the design of error confinement wrappers.

MAFALDA randomly performs fault injection (bit-flips) both at the interface and the internal address space of real-time microkernels. Experimental data is collected and analyzed to assess the various failure modes including error propagation. An interface is provided to set up and carry out fault injection campaigns.

Several campaigns were recently carried out on two instances of commercial microkernel. The results obtained show quite different behavior in the presence of faults and reveal weak behavior. These are interesting inputs for the development of complementary error detection mechanisms, by mean of wrappers. The wrappers are defined from temporal logic specifications and implemented with a reflective framework. The campaigns carried out with encapsulated real-time microkernels show the benefits in terms of error detection coverage.

MAFALDA runs on a Unix Workstation and drives experiments in parallel on a rack of PC machines.

 

 

Slides of the presentation at PRDC-2000,

The Pacific Rim Dependable Computing Conference, 

UCLA, Los Angeles, CA, USA — 18-20 December 2000