FIDL: A Fault Injection Description Language for Compiler-based SFI Tools

Maryam Raiyat Ailabadi and Karthik Pattabiraman, International Conference on Computer Safety, Reliability and Security (SafeComp), 2016. (Acceptance Rate: 34%) [ PDF | Talk ]

Abstract: Software Fault Injection (SFI) techniques have a pivotal role in evaluating the dependability properties of a software system. Evaluating the dependability of software system against multiple fault scenarios is challenging, due to the combinatorial explosion and the advent of new fault models. These necessitate SFI tools that are programmable and easily extensible.

This paper proposes FIDL (pronounced Fiddle), which stands for fault injection description language, that allows compiler-based fault injection tools to be extended with new fault models. FIDL is an Aspect-Oriented Programming language that dynamically weaves the fault models into the code of the fault injector. We implement FIDL using the LLFI fault injection framework and measure its overheads. We find that FIDL significantly reduces the complexity of fault models by 10x on average, while incurring 4-18% implementation overhead, which in turn increases execution time of the injector by at most 7% across programs.