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: firstname.lastname@example.orgPhone: 604-827-4245 (please email first)
Address: Rm. 4048, Fred Kaiser Building, 2332 Main Mall, Vancouver, BC V6T1Z4.
- New Wine in an Old Bottle: N-Version Programming for Machine Learning Components
- Stealthy Attacks Against Robotic Vehicles Protected by Control-based Intrusion Detection Techniques
- How Far Have We Come in Detecting Anomalies in Distributed Systems? An Empirical Study with a Statement-level Fault Injection Method
- TensorFI: A Flexible Fault Injection Framework for TensorFlow Applications
- GPU-TRIDENT: Efficient Modeling of Error Propagation in GPU Programs
- 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