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 llfi.stat.fi.injectedfaults file #70

Closed timberjack closed 9 years ago

timberjack commented 9 years ago

Dear Author,

I am currently going over the steps abot LLFI, but find that I could not find llfi.stat.fi.injectedfaults file. Here are several specific questions:

  1. I use the default configuration in test-programs folder, and go over all scripts, including compileIR, instrument, profile and faultinject, but I cannot find llfi.stat.fi.injectedfaults in the llfi_stat_output folder. Have you ever faced the problem like this before ?
  2. I spend some days in studying into the source code of runtime_lib, and find that "llfi.stat.fi.injectedfaults.txt" should be generated in initInjections() function, which is defined in FaultInjectionLib.c. Is my statement above correct ?
  3. I copied part of the result generated by "instrument" script, like below

['clang', '-o', '/media/xnwang30/Storage/LLFI/LLFI/test_programs/factorial/llfi/factorial-profiling.exe', '/media/xnwang30/Storage/LLFI/LLFI/test_programs/factorial/llfi/factorial-profiling.o', '-L/media/xnwang30/Storage/LLFI/LLFI/LLFI_Obj1/bin/../runtime_lib', '-lllfi-rt', '-Wl,-rpath', '/media/xnwang30/Storage/LLFI/LLFI/LLFI_Obj1/bin/../runtime_lib']

I see the "-L" option followed by a folder's path, which should be the so-called "library". Currently I get no idea of how to program a library. Usually there should be a "main" in a program, but I see no function like that exists. Could you provide me a clue that how should I understand about runtime_lib files, or "-L" related function of Clang ?

Thank you, Xianan

karthikp-ubc commented 9 years ago

We'll look into the first part of the question, namely finding the stat files. For the other parts of the question, please post to the llfi-development google groups (you need to subscribe first), as that is the appropriate forum for general LLFI related questions. This forum is for specific issues only. Thanks,

timberjack commented 9 years ago

Thank you, professor. Thank you for your reply.

However, I cannot find the address of llfi-development google group. When I try to search for "llfi-development", I get no results back. Could you help check if the llfi-development google group is still online ?

Here is what I got: " Search results for llfi-development Sorted by relevance

Posts: 0, groups: 0 No results found"

Thank you, and sorry for the trouble, Xianan

karthikp-ubc commented 9 years ago

The link to the group is here: https://groups.google.com/forum/#!forum/llfi-development. Thanks,

karfair commented 9 years ago

@timberjack Q1: I need some more information to be able to replicate the error. Could you tell me which sample program and the exact commands you've used to perform the injection? Thanks!

timberjack commented 9 years ago

@karfair I am using sample program "factorial" to test LLFI. I keep input.yaml unchanged when I run the scripts. All compiletoIR, instrument, profile and faultinject are executed, but no file named as llfi.stat.fi.injectedfaults is found.

Thanks, Xianan

timberjack commented 9 years ago

@karfair I think I have figured out the problems now. I write the wrong script for faultInject script. I define the input file as "profiling" file. This is the reason that I did not get "llfi.stat.fi.injectedfaults".

Thank you.

Sincerely, Xianan

karthikp-ubc commented 9 years ago

Great - thanks for letting us know. I'm closing this issue now.