Title:
Fault injection techniques and tools for embedded systems reliability evaluation
Publication Information:
Boston, Mass. : Kluwer Academic Publishers, 2003
ISBN:
9781402075896
Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000004997080 | TK7895.E42 F38 2003 | Open Access Book | Book | Searching... |
On Order
Summary
Summary
Fault Injection Techniques and Tools for Embedded Systems Reliability Evaluation intends to be a comprehensive guide to Fault Injection techniques used to evaluate the dependability of a digital system. The description and the critical analysis of different Fault Injection techniques and tools will be authored by key scientists in the field of system dependability and fault tolerance.
Table of Contents
Contributing Authors | p. xiii |
Preface | p. 1 |
Acknowledgments | p. 3 |
Part 1 A First Look at Fault Injection | p. 5 |
Chapter 1.1 Fault Injection Techniques | p. 7 |
1. Introduction | p. 7 |
1.1 The Metrics of Dependability | p. 8 |
1.2 Dependability Factors | p. 9 |
1.3 Fault Category | p. 10 |
1.3.1 Fault Space | p. 10 |
1.3.2 Hardware/Physical Fault | p. 11 |
1.3.3 Software Fault | p. 12 |
1.4 Statistical Fault Coverage Estimation | p. 13 |
1.4.1 Forced Coverage | p. 14 |
1.4.2 Fault Coverage Estimation with One-Sided Confidence Interval | p. 16 |
1.4.3 Mean Time To Unsafe Failure (MTTUF) [SMIT_00] | p. 17 |
2. An Overview of Fault Injection | p. 18 |
2.1 The History of Fault Injection | p. 19 |
2.2 Sampling Process | p. 20 |
2.3 Fault Injection Environment [HSUE_97] | p. 20 |
2.4 Quantitative Safety Assessment Model | p. 21 |
2.5 The FARM Model | p. 24 |
2.5.1 Levels of Abstraction of Fault Injection | p. 25 |
2.5.2 The Fault Injection Attributes | p. 25 |
3. Hardware-based Fault Injection | p. 28 |
3.1 Assumptions | p. 29 |
3.2 Advantages | p. 29 |
3.3 Disadvantages | p. 30 |
3.4 Tools | p. 30 |
4. Software-based Fault Injection | p. 31 |
4.1 Assumptions | p. 32 |
4.2 Advantages | p. 32 |
4.3 Disadvantages | p. 32 |
4.4 Tools | p. 33 |
5. Simulation-based Fault Injection | p. 33 |
5.1 Assumptions | p. 33 |
5.2 Advantages | p. 34 |
5.3 Disadvantages | p. 34 |
5.4 Tools | p. 34 |
6. Hybrid Fault Injection | p. 35 |
6.1 Tools | p. 35 |
7. Objectives of Fault Injection | p. 35 |
7.1 Fault Removal [AVRE_92] | p. 36 |
7.2 Fault Forecasting [ARLA_90] | p. 37 |
8. Further Researches | p. 37 |
8.1 No-Response Faults | p. 38 |
8.2 Large Number of Fault Injection Experiments Required | p. 39 |
Chapter 1.2 Dependability Evaluation Methods | p. 41 |
1. Types of Dependability Evaluation Methods | p. 41 |
2. Dependability Evaluation by Analysis | p. 42 |
3. Dependability Evaluation by Field Experience | p. 45 |
4. Dependability Evaluation by Fault Injection Testing | p. 46 |
5. Conclusion and outlook | p. 47 |
Chapter 1.3 Soft Errors on Digital Components | p. 49 |
1. Introduction | p. 49 |
2. Soft Errors | p. 51 |
2.1 Radiation Effects (SEU, SEE) | p. 51 |
2.2 SER measurement and testing | p. 53 |
2.3 SEU and technology scaling | p. 54 |
2.3.1 Trends in DRAMs, SRAMs and FLASHs | p. 54 |
2.3.2 Trends in Combinational Logic and Microprocessor | p. 55 |
2.3.3 Trends in FPGA | p. 55 |
2.4 Other sources of Soft Errors | p. 56 |
3. Protection Against Soft Errors | p. 57 |
3.1 Soft Error avoidance | p. 57 |
3.2 Soft Error removal and forecasting | p. 57 |
3.3 Soft Error tolerance and evasion | p. 58 |
3.4 SOC Soft Error tolerance | p. 58 |
4. Conclusions | p. 59 |
Part 2 Hardware-Implemented Fault Injection | p. 61 |
Chapter 2.1 Pin-Level Hardware Fault Injection Techniques | p. 63 |
1. Introduction | p. 63 |
2. State of the Art | p. 64 |
2.1 Fault injection methodology | p. 64 |
2.1.1 Fault injection | p. 64 |
2.1.2 Data acquisition | p. 65 |
2.1.3 Data processing | p. 65 |
2.2 Pin-level fault injection techniques and tools | p. 65 |
3. The Pin Level FI FARM model | p. 66 |
3.1 Fault model set | p. 67 |
3.2 Activation set | p. 67 |
3.3 Readouts Set | p. 67 |
3.4 Measures set | p. 68 |
4. Description of the Fault Injection Tool | p. 68 |
4.1 AFIT--Advanced Fault Injection Tool | p. 68 |
4.2 The injection process: A case study | p. 73 |
4.2.1 System Description | p. 73 |
4.2.2 The injection campaign | p. 74 |
4.2.3 Execution time and overhead | p. 77 |
5. Critical Analysis | p. 78 |
Chapter 2.2 Development of a Hybrid Fault Injection Environment | p. 81 |
1. Dependability Testing and Evaluation of Railway Control Systems | p. 81 |
2. Birth of a Validation Environment | p. 82 |
3. The Evolution of "Live" | p. 86 |
3.1 Two examples of automation | p. 88 |
4. Example application | p. 92 |
5. Conclusions | p. 93 |
Chapter 2.3 Heavy Ion Induced See in Sram Based FPGAs | p. 95 |
1. Introduction | p. 95 |
2. Experimental Set Up | p. 96 |
3. SEEs in FPGAs | p. 99 |
3.1 SEU and SEFI | p. 99 |
3.2 Supply current increase: SEL? | p. 103 |
3.3 SEU in the configuration memory | p. 106 |
4. Conclusions | p. 107 |
Part 3 Software-Implemented Fault Injection | p. 109 |
Chapter 3.1 "Bond": An Agents-Based Fault Injector for Windows nt | p. 111 |
1. The target platform | p. 111 |
2. Interposition Agents and Fault Injection | p. 112 |
3. The BOND Tool | p. 113 |
3.1 General Architecture: the Multithreaded Injection | p. 114 |
3.2 The Logger Agent | p. 115 |
3.2.1 Fault Injection Activation Event | p. 115 |
3.2.2 Fault Effect Observation | p. 117 |
4. The Fault Injection Agent | p. 117 |
4.1 Fault location | p. 117 |
4.2 Fault type | p. 118 |
4.3 Fault duration | p. 119 |
4.4 The Graphical User Interface | p. 119 |
5. Experimental Evaluation of BOND | p. 120 |
5.1 Winzip32 | p. 121 |
5.2 Floating Point Benchmark | p. 122 |
6. Conclusions | p. 123 |
Chapter 3.2 Xception: A Software Implemented Fault Injection Tool | p. 125 |
1. Introduction | p. 125 |
2. The Xception Technique | p. 126 |
2.1 The FARM model in Xception | p. 127 |
2.1.1 Faults | p. 127 |
2.1.2 Activations | p. 128 |
2.1.3 Readouts | p. 129 |
2.1.4 Measures | p. 129 |
3. The XCEPTION TOOLSET | p. 129 |
3.1 Architecture and key features | p. 130 |
3.1.1 The Experiment Manager Environment (EME) | p. 131 |
3.1.2 On the target side | p. 131 |
3.1.3 Monitoring capabilities | p. 132 |
3.1.4 Designed for portability | p. 133 |
3.2 Extended Xception | p. 133 |
3.3 Fault definition made easy | p. 134 |
3.4 Xtract--the analysis tool | p. 134 |
3.5 Xception on the field--a selected case study | p. 135 |
3.5.1 Experimental setup | p. 136 |
3.5.2 Results | p. 136 |
4. Critical Analysis | p. 138 |
4.1 Deployment and development time | p. 138 |
4.2 Technical limitations of SWIFI and Xception | p. 138 |
Chapter 3.3 Mafalda: A Series of Prototype Tools for the Assessment of Real Time Cots Microkernel-Based Systems | p. 141 |
1. Introduction | p. 141 |
2. Overall Structure of MAFALDA-RT | p. 143 |
3. Fault Injection | p. 145 |
3.1 Fault models and SWIFI | p. 146 |
3.2 Coping with the temporal intrusiveness of SWIFI | p. 147 |
4. Workload and Activation | p. 149 |
4.1 Synthetic workload | p. 149 |
4.2 Real time application | p. 150 |
5. Readouts and Measures | p. 151 |
5.1 Assessment of the behavior in presence of faults | p. 151 |
5.2 Targeting different microkernels | p. 153 |
6. Lessons Learnt and Perspectives | p. 155 |
Part 4 Simulation-Based Fault Injection | p. 157 |
Chapter 4.1 Vhdl Simulation-Based Fault Injection Techniques | p. 159 |
1. Introduction | p. 159 |
2. VHDL Simulation-Based Fault Injection | p. 160 |
2.1 Simulator Commands Technique | p. 161 |
2.2 Modifying the VHDL Model | p. 162 |
2.2.1 Saboteurs Technique | p. 162 |
2.2.2 Mutants Technique | p. 164 |
2.3 Other Techniques | p. 167 |
3. Fault Models | p. 167 |
4. Description of VFIT | p. 168 |
4.1 General Features | p. 168 |
4.2 Injection Phases | p. 169 |
4.3 Block diagram | p. 170 |
5. Experiments of Fault Injection: Validation of a Fault Tolerant Microcomputer System | p. 173 |
6. Conclusions | p. 176 |
Chapter 4.2 Mefisto: A Series of Prototype Tools for Fault Injection Into Vhdl Models | p. 177 |
1. Introduction | p. 177 |
2. MEFISTO-L | p. 178 |
2.1 Structure of the Tool | p. 179 |
2.2 The Fault Attribute | p. 181 |
2.3 The Activation Attribute | p. 182 |
2.4 The Readouts and Measures | p. 183 |
2.5 Application of MEFISTO-L for Testing FTMs | p. 184 |
3. MEFISTO-C | p. 185 |
3.1 Structure of the Tool | p. 185 |
3.2 Reducing the Cost of Error Coverage Estimation by Combining Experimental and Analytical Techniques | p. 187 |
3.3 Using MEFISTO-C for Assessing Scan-Chain Implemented Fault Injection | p. 189 |
4. Some Lessons Learnt and Perspectives | p. 191 |
Chapter 4.3 Simulation-Based Fault Injection and Testing Unsing the Mutation Technique | p. 195 |
1. Fault Injection Technique: Mutation Testing | p. 195 |
1.1 Introduction | p. 195 |
1.2 Mutation Testing | p. 196 |
1.3 Different mutations | p. 199 |
1.3.1 Weak mutation | p. 199 |
1.3.2 Firm mutation | p. 200 |
1.3.3 Selective mutation | p. 201 |
1.4 Test generation based on mutation | p. 201 |
1.5 Functional testing method | p. 203 |
1.5.1 Motivations | p. 203 |
1.5.2 Mutation testing for hardware | p. 203 |
2. The Alien Tool | p. 207 |
2.1 The implementation tool | p. 208 |
2.1.1 General presentation of the tool | p. 208 |
2.1.2 ALIEN detailed description | p. 209 |
2.2 Experimental work | p. 211 |
2.2.1 Before enhancement of test data | p. 212 |
2.2.2 After enhancement of test data | p. 212 |
2.2.3 Comparison with the classical ATPGs | p. 213 |
3. Conclusion | p. 214 |
3.1 Approach robustness | p. 214 |
3.1.1 Robustness with regard to the different hardware implementations | p. 214 |
3.1.2 Robustness with regard to the different hardware fault models | p. 214 |
3.2 Limitations and Reusability | p. 215 |
Chapter 4.4 New Acceleration Techniques for Simulation-Based Fault-Injection | p. 217 |
1. Introduction | p. 217 |
2. RT-Level Fault-Injection Campaign | p. 219 |
3. Fault Injection | p. 221 |
3.1 Checkpoints and Snapshot | p. 221 |
3.2 Early stop | p. 222 |
3.3 Hyperactivity | p. 223 |
3.4 Smart resume | p. 223 |
3.5 Dynamic Equivalencies | p. 224 |
4. Workload Independent Fault Collapsing | p. 224 |
5. Workload Dependent Fault Collapsing | p. 225 |
6. Dynamic Fault Collapsing | p. 226 |
7. Experimental Results | p. 227 |
8. Conclusions | p. 229 |
References | p. 231 |