Software Faults

This guide will help you injecting software faults in your programs. Make sure you have an account at ucx.dei.uc.pt to use the software fault injection tool. Afterwards just follow these steps:

1) connect to ucx.dei.uc.pt using ssh (for example, using PuTTY)

2) run the swfi command (should complain about no input files)

3) upload some .c files or mount a remote file system

4) run swfi to generate one patch file for each software fault

5) run patch < file.c._XXXX_Y.patch to apply a software fault

6) run patch -R < file.c._XXXX_Y.patch to remove the fault

As this last figure shows, the sha program produced an incorrect output with the software fault, compared to the fault-free program.

Tools and datasets for dependability and security