LLFI: An Intermediate Code Level Fault Injector for Hardware Faults

Qining Lu, Mostafa Farahani, Jiesheng Wei, Anna Thomas and Karthik Pattabiraman, Proceedings of IEEE International Conference on Quality, Reliability and Security (QRS), August 2015. Short paper. (Acceptance Rate: 46%) [ PDF | Talk ]

Abstract: Hardware errors are becoming more prominent with reducing feature sizes – however, tolerating them exclusively in hardware is expensive. Researchers have explored software-based techniques for building error resilient applications for hardware faults. However, software based error resilience techniques need configurable and accurate fault injection techniques to evaluate their effectiveness. In this paper, we present LLFI, a fault injector that works at the LLVM compiler’s intermediate representation (IR) level of the application. LLFI is highly configurable, and can be used to inject faults into selected targets in the program in a fine-grained manner. We demonstrate the utility of LLFI by using it to perform fault injection experiments into nine programs, and study the effect of different injection choices on their resilience, namely instruction type, register target and number of bits flipped. We find that these parameters have a marked effect on the evaluation of overall resilience.