-
Notifications
You must be signed in to change notification settings - Fork 12
Home
The goal of LLTFI wiki page is to provide instructions for you to get started with LLTFI and customize LLTFI based on your requirement.
High Level Description of the Steps in LLTFI
Describes the steps in using LLTFI, their purpose and their input/output dependencies
Get Started with LLTFI using the WEB GUI
Describes the steps in using LLTFI with the WEB GUI
Get Started with LLTFI using the command line
Discusses how to use provided utilities (scripts) to perform fault injections from the command line.
How to Run the Fault Injection Experiment without Script
Describes the overall working flow of LLTFI. This is good for you to understand how LLTFI works, and it is a good start when you want to replace certain scripts with your own version.
Analyze Error Propagation at the LLVM Bitcode level
Describes the input necessary to create program instruction traces, and how to use the tools available to analyze error propagation using the traces. The instruction trace here is the dumped runtime values of all instructions in the provided program.
Failure Auto Scan and Batch Mode Scripts
Describe how to use auto scan tools of LLTFI to find applicable failure modes and how to use batch mode script to inject a list of software failures.
-
How to Use llfiindex Fault Injection Instruction Selector
Describes a fault injection instruction selector named
llfiindex
, the instruction selector allows users to specify certain instruction(s) (variable(s)) as fault injection targets and only inject faults to the specified instruction(s).
For those who want to develop custom functions to customize LLTFI.
How to Create a Custom Instruction or Register Selector
Describes how to create a customized instruction or register selector. The instruction/register selector is used to determine which instructions/registers to be included as fault injection targets.
How to Create a Custom Fault Injector
Describes how to create a customized fault injector. The fault injector is used to determine what kinds of fault to be injected (e.g. bitflip).
How to Modify the Execution Cycles of Certain Instruction Types
Describes how to change the execution cycles of certain instructions types. Note the 'change' here means changes in the statistics, rather than changes in the 'real' execution cycles.
How to Use the Test Suite of LLTFI
Describes how to use the test suite of LLTFI. Regression test is required for developing LLTFI whenever new changes are added to the repository.