UBC Undergraduate Research

Extending the LLFI tool to support compilation of project files Chan, Abraham


LLFI is a LLVM based fault injection tool that performs hardware fault injections at the intermediate representation (IR) level. To perform a fault-injection, the source files must first be compiled into IR, followed by the generation of executables, and the profiling of the faults. The pre-existing tool is designed for single C/C++ source files. With increased interest from industry to understand their application's resilience to faults, the LLFI tool must be extended to operate on whole projects. Multiple alternate solutions were proposed to implement this extension. The preferred solution comprises of a script to generate a Makefile that takes into account of user options, and subsequently builds the Makefile. This solution is incorporated into both the command line and GUI tools. The usability of this design is accessed through the deployment of several industry bench-mark applications. The design is evaluated by its efficiency, responsiveness and integration to the overall workflow. The key challenge of the analysis is on apprehending an existing user's workflow in the tool.

Item Media

Item Citations and Data


Attribution-NonCommercial-NoDerivs 2.5 Canada