DependableSystemsLab / LLFI

LLFI is an LLVM based fault injection tool, that injects faults into the LLVM IR of the application source code. The faults can be injected into specific program points, and the effect can be easily tracked back to the source code. Please refer to the paper below. NOTE: If you publish a paper using LLFI, please add it to PaperLLFI.bib
http://blogs.ubc.ca/karthik/2014/02/23/quantifying-the-accuracy-of-high-level-fault-injection-techniques/
Other
68 stars 35 forks source link

about fi_cycle in injectfault script in bin #66

Closed timberjack closed 9 years ago

timberjack commented 9 years ago

Dear author,

I am trying to study into the scripts of LLFI recently.

About the problem, I feel it is a little bit odd about fi_cycle. I think this variable is defined to be a param to stand for in which cycle the fault should be injected to (I am not sure this understanding), but I find that in "injectfault.py" script, fi_cycle is just read from input.yaml or generated randomly, without influencing the execution of faultinjection.exe. Does it mean that fi_cycle does actually no effect?

Thanks, Xianan

karthikp-ubc commented 9 years ago

Your understanding of what fi_cycle is doing is correct. Basically, it tells you in which invocation of the fault injection site the fault should be injected. So perhaps the word cycle is a misnomer - it should be execution count. That said, the parameter should influence faultinjection.exe. We'll look into this issue.

@karfair can you please take a look at this and see if we're able to reproduce this issue ? Thanks,

karfair commented 9 years ago

From what I understand, the injectfault.py script either generates a random fi_cycle or reads a fi_cycle from the input.yaml and writes it into llfi.config.runtime.txt. The fault injection executable then automatically reads the injection settings from this file, so the fi_cycle specified in the input.yaml will influence the execution of faultinjection.exe.

karthikp-ubc commented 9 years ago

It looks like this is a non-issue as the fault injection executable does take the fi_cycle into account, so I'm closing it. Please reopen it if there is still an issue. Thanks.