Fault Injection Techniques and Tools
نویسندگان
چکیده
D ependability evaluation involves the study of failures and errors. The destructive nature of a crash and long error latency make it difficult to identify the causes of failures in the operational environment. It is particularly hard to recreate a failure scenario for a large, complex system. To identify and understand potential failures, we use an experiment-based approach for studying the dependability of a system. Such an approach is applied not only during the conception and design phases, but also during the prototype and operational phases. To take an experiment-based approach, we must first understand a system's architecture, structure, and behavior. Specifically, we need to know its tolerance for faults and failures, including its built-in detection and recovery mechanisms, 3 and we need specific instruments and tools to inject faults, create failures or errors, and monitor their effects. Engineers most often use low-cost, simulation-based fault injection to evaluate the dependability of a system that is in the conceptual and design phases. At this point, the system under study is only a series of high-level abstractions; implementation details have yet to be determined. Thus the system is simulated on the basis of simplified assumptions. Simulation-based fault injection, which assumes that errors or failures occur according to predetermined distribution, is useful for evaluating the effectiveness of fault-tolerant mechanisms and a system's dependability; it does provide timely feedback to system engineers. However, it requires accurate input parameters, which are difficult to supply: Design and technology changes often complicate the use of past measurements. Testing a prototype, on the other hand, allows us to evaluate the system without any assumptions about system design, which yields more accurate results. In prototype-based fault injection, we inject faults into the system to • identify dependability bottlenecks, • study system behavior in the presence of faults, • determine the coverage of error detection and recovery mechanisms, and • evaluate the effectiveness of fault tolerance mechanisms (such as reconfiguration schemes) and performance loss. To do prototype-based fault injection, faults are injected either at the hardware level (logical or electrical faults) or at the software level (code or data corruption) and the effects are monitored. The system used for evaluation can be either a prototype or a fully operational system. Injecting faults into an operational system can provide information about the failure process. However, fault injection is suitable for studying emulated faults only. It also fails to provide dependability measures …
منابع مشابه
FPGA-based Fault Injection Techniques for Fast Evaluation of Fault Tolerance in VLSI Circuits1
Designers of safety-critical VLSI systems are asking for effective tools for evaluating and validating their designs. Fault Injection is commonly adopted for this task, and its effectiveness is therefore a key factor. In this paper we propose to exploit FPGAs to speed-up Fault Injection for fault tolerance evaluation of VLSI circuits. A complete Fault Injection environment is described, relying...
متن کاملA Review of Application of Signal Processing Techniques for Fault Diagnosis of Induction Motors – Part I
Abstract - Use of efficient signal processing tools (SPTs) to extract proper indices for fault detection in induction motors (IMs) is the essential part of any fault recognition procedure. The Part1 of the two parts paper focuses on Fourier-based techniques including fast Fourier transform and short time Fourier transform. In this paper, all utilized SPTs which have been employed for fault fete...
متن کاملGOOFI: Generic Object-Oriented Fault Injection Tool
Most fault injection tools have been developed with a specific fault injection technique in mind targeting a specific system, and using a custom designed user interface. The GOOFI (Generic Object-Oriented Fault Injection) tool [1] is designed to be adaptable to various target systems and different fault injection techniques in a user-friendly way. The GOOFI tool has been used to evaluate severa...
متن کاملUsing Performance Tools to Support Experiments in HPC Resilience
The high performance computing (HPC) community is working to address fault tolerance and resilience concerns for current and future large scale computing platforms. This is driving enhancements in the programming environments, specifically research on enhancing message passing libraries to support fault tolerant computing capabilities. The community has also recognized that tools for resilience...
متن کاملApplication of Signal Processing Tools for Fault Diagnosis in Induction Motors-A Review-Part II
The use of efficient signal processing tools (SPTs) to extract proper indices for the fault detection in induction motors (IMs) is the essential part of any fault recognition procedure. The 2nd part of this two-part paper is, in turn, divided into two parts. Part two covers the signal processing techniques which can be applied to non-stationary conditions. In this paper, all utilized SPTs for n...
متن کاملCombining High-Level and Low-Level Approaches to Evaluate Software Implementations Robustness Against Multiple Fault Injection Attacks
Physical fault injections break security functionalities of algorithms by targeting their implementations. Software techniques strengthen such implementations to enhance their robustness against fault attacks. Exhaustively testing physical fault injections is time consuming and requires complex platforms. Simulation solutions are developed for this specific purpose. We chose two independent too...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- IEEE Computer
دوره 30 شماره
صفحات -
تاریخ انتشار 1997