Lucas Palazzi, Guanpeng Li, Bo Fang, and Karthik Pattabiraman, To appear in the IEEE Transactions on Dependable and Secure Computing (TDSC). (Acceptance date: March 2020). [PDF] (Code)
This paper is an extended version of the following conference paper
Abstract: Fault injection (FI) is a commonly used experimental technique to evaluate the resilience of software techniques for tolerating hardware faults. Software-implemented FI can be performed at different levels of abstraction in the system stack; FI performed at the compiler’s intermediate representation (IR) level has the advantage that it is closer to the program being evaluated and is hence easier to derive insights from for the design of software fault-tolerance mechanisms. Unfortunately, it is not clear how accurate IR-level FI is vis-a-vis FI performed at the assembly code level, and prior work has presented contradictory findings. In this paper, we perform a comprehensive evaluation of the accuracy of IR-level FI across a range of benchmark programs and compiler optimization levels. Our results show that IR-level FI is as accurate as assembly-level FI for silent data corruption (SDC) probability estimation across different benchmarks and optimization levels. Further, we present a machine-learning-based technique for improving the accuracy of crash probability measurements made by IR-level FI, which takes advantage of an observed correlation between program crash probabilities and instructions that operate on memory address values. We find that the machine learning technique provides comparable accuracy for IR-level FI as assembly code level FI for program crashes.
email: email@example.comPhone: 604-827-4245 (please email first)
Address: Rm. 4048, Fred Kaiser Building, 2332 Main Mall, Vancouver, BC V6T1Z4.
- How Effective are Smart Contract Static Analysis Tools ? Evaluating Smart Contract Static Analysis Tools Using Bug Injection
- TraceSanitizer – Eliminating the Effects of Non-determinism on Error Propagation Analysis
- Improving the Accuracy of IR-Level Fault Injection
- Out of Control: Stealthy Attacks on Robotic Vehicles Protected by Control-Based Techniques
- A Tale of Two Injectors: End-to-End Comparison of IR-level and Assembly-Level Fault Injection
- BinFI: An Efficient Fault Injector for Safety-Critical Machine Learning Systems
- OneOS: IoT Platform based on Posix and Actors
- BonVoision: Leveraging Spatial Data Smoothness for Recovery from Memory Soft Errors
- Design-Level and Code-Level Security Analysis of IoT Devices
- Failure Prediction in the Internet of Things due to Memory Exhaustion