[klee-dev] Implementing support for the Firehose file format
Marko Dimjašević
marko at cs.utah.edu
Sun Jul 3 03:24:09 BST 2016
Hi KLEE developers,
On Tue, 2016-05-10 at 21:12 -0600, Marko Dimjašević wrote:
> I would like to implement support for the Firehose reporting file
> format in KLEE:
>
> https://github.com/fedora-static-analysis/firehose
I am close to being done with this one. One will simply add the
-firehose-output command line argument to KLEE and it will generate
firehose.xml in the klee-last directory.
A thing that I would like to put in the output file is values of input
arguments to a program for a failing test case when the POSIX runtime is
used. Usually one calls the klee-replay tool for this. Is there a way to
use this functionality as a library from within tools/klee/main.cpp?
An attempt I made is to simply read from m_argv in the KleeHandler
class, but that doesn't work if there are symbolic inputs to the
program (e.g., I obtain things like "--sym-arg 3" instead of a concrete
value that lead to the failure). Then there is
Executor::getSymbolicSolution, which is probably related, but I don't
know how to make the solution concrete.
My hunch is I'd maybe have to call the klee_init_env function from
runtime/POSIX/klee_init_env.c. However, I've been wondering if it's
safe to do so from the KleeHandler::processTestCase function in
tools/klee/main.cpp. In other words, does klee_init_env impact a global
state and does it have side-effects?
If I should do something else to obtain concrete input values, I will be
more than happy to hear your suggestion.
--
Regards,
Marko Dimjašević <marko at cs.utah.edu> . University of Utah
https://dimjasevic.net/marko . PGP key ID: 1503F0AA
Learn email self-defense! https://emailselfdefense.fsf.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://mailman.ic.ac.uk/pipermail/klee-dev/attachments/20160702/693e05fe/attachment.sig>
More information about the klee-dev
mailing list