[klee-dev] rationale behind the parameters used in the KLEE OSDI paper
Cristian Cadar
c.cadar at imperial.ac.uk
Wed Mar 6 23:29:09 GMT 2013
Hi Lei,
> Thank you for your detailed instruction. Now we do like that. And,
> another question, I think there are actually only 88 stand-alone
> utilities in coreutils, unless considering "false" or "test/[" as
> stand-alone. I skipped "dir", "vdir", "ginstall", "groups", "sha*sum",
> "false", and only test one of the "test" and "[" pair. Should I consider
> "false" or "test/[" as stand-alone?
You need to consider ginstall. But you need to skip arch, which as we
mention in the paper is just a wrapper for uname -m. I updated the
Coreutils experiments webpage with the list of the 89 utilities that we
considered.
> Besides, how did you modify the buffer used by "sort"? Thank you very much!
I've just looked, and we changed
#define INPUT_FILE_SIZE_GUESS (1024 * 1024)
to
#define INPUT_FILE_SIZE_GUESS 1024
Looking over our archives, I noticed two more changes that we had to do
during our experiments:
(1) We had to change some _exit calls during replay, since otherwise
gcov will not record any coverage on those paths. Of course, note that
this is a problem when you run the manual test suite too (and gcov in
general)
(2) We had to disable buffered I/O, as otherwise the sequence of system
calls issued by some programs is nondeterministic, which is a problem in
failure mode.
I will try to document these issues -- and any other I encounter while
looking at our archives -- on the KLEE website as soon as I get a chance.
BTW, I remember you mentioned a patch that addresses the issues you
encountered while running KLEE with more recent versions of LLVM (incl.
2.9)? It would be great if you could contribute it to the mainline.
Best,
Cristian
More information about the klee-dev
mailing list