New Fault Tolerance and Performance Evaluator (NFTAPE)

Fault Injection Methods

  • Debugger-Based Injection Debugger-based injectors inject faults using the same APIs used by debuggers. These injectors can set breakpoints in a target application, stop a target process when injection is triggered, step through instructions, or (on some systems) trace system calls. Under an NFTAPE breakpoint injection experiment, the target process runs normally until an injection is activated. Activation of a fault will result in the process being stopped, the fault injected, and the process being resumed as normal.
  • Signal Injection Signal injectors are those that are triggered when a specific signal is raised on the target process.
  • Driver-Based Kernel Injection While Debugger-based and Signal injectors inject into User space, our driver-based injectors are designed to facilitate injection into the Kernel space. This is done by writing kernel drivers, and installing them into the kernel. Small User space programs are then executed, which invoke functions on the driver-injector in order to activate a fault injection.
  • Driver-Based Performance Injection Performance injectors inject faults, not into a specific target process, nor into specific memory in the kernel; rather, they inject faults into the environment, by claiming system resources, such as hogging file handles, memory, or CPU cycles, or by disabling interrupts. In certain kinds of systems, such faults constitute more realistic error scenarios than bit flipping and masking.
  • Custom Injectors All of the above fault injector types can treat the target system as a black box. As such, they require only very minimal instrumentation of the target, and that only during run-time. Other kinds of test scenarios call for a more hands-on approach, requiring source-level instrumentation.

Our Products
Robust Middleware
Fault Tolerance Benchmarking Toolset


Our Services
High availability assessment & benchmarking



Your key to a robust computing system


Our Technology
Reliability Availability Security



Contact Us
for more details

2006 Armored Computing Inc.: 60 Hazelwood Drive, Champaign, IL 61820 | (630) 347-7235
The Armored Computing Logo is the trademark of Armored Computing Inc.