-
Notifications
You must be signed in to change notification settings - Fork 15
Using error injection
Here's a very manual way of running the error injection in ACCEPT applications.
-
You will need to switch to the
errorinjectionbranch on both theacceptandaccept-appsrepositories. Build ACCEPT as normal. Useactivate.shor otherwise ensure that you have ACCEPT'sbindirectory on your$PATH. -
Error injection requires a
liberror.cppto define the error model. We'll use theaccept-apps/perfect/sar/kernels/bpapplication as an example, since it has one checked into the repo already. -
Go to the application directory and type
make build_orig. This will produce anaccept_config.txt(but you don't need to meddle with that). -
(You can optionally write
make run_origto see the output without error injection.) -
Write an
inject_config.txtfile to set up the parameters. For example:$ cat inject_config.txt default 1 cmult 2List the function name (mangled, if it's C++) and the parameter. You can also choose a default for other instructions.
-
Run
inject_config.py. This will transfer your parameters frominject_config.txtto ACCEPT'saccept_config.txt. -
Type
make run_opt. This will compile, instrument, and execute the error-injected version of the application.