LLFI: An Intermediate Code Level Fault Injector For Soft Computing Applications

Anna Thomas and Karthik Pattabiraman, Workshop on Silicon Errors in Logic – System Effects (SELSE), 2013. [ PDF | Talk ] (NOTE: SELSE does not have a formal proceedings).

This paper is superceded by the following conference paper.

Hardware errors are on the rise with reducing chip sizes. However, a certain class of applications called soft computing applications, (e.g., multimedia applications) can tolerate most hardware errors, except those that result in outcomes that deviate significantly from the error-free outcomes. We term such outcomes as Egregious Data Corruptions (EDCs).

To identify source code level characteristics of EDC causing faults, we built an LLVM based fault injector tool called LLFI. It performs fault injection at the intermediate code level of the application. We quantitatively validate LLFI accuracy with respect to assembly level fault injection. Using LLFI, we performed a study to identify the correlation between faults in specific data types, and EDC outcomes. This data categorization will help us identify detector placement locations with high coverage for EDC causing faults.