[klee-dev] KLEE without SMT solver
Martin Nowack
martin_nowack at tu-dresden.de
Mon Sep 14 15:05:57 BST 2015
Hi,
> On 11 Sep 2015, at 23:12, Jeff Wilson <jeffwilson1369 at gmail.com> wrote:
>
> Is there a way to disable the queries that KLEE makes to the SMT solver? I would like to only get the path constraints in SMT2 format as outputs from KLEE.
>
In general, if you want to generate SMT2 output use following arguments (-use-query-log):
=all:smt2 to get all solver queries (i.e. every call, before any optimisations, caches, …) and/or
=solver:smt2 to get queries which reach the real solver (e.g. the ones which could not be solved using caches, …)
As an example:
klee -use-query-log=all:smith,solver:smt2 foobar.bc
Now, even you would like to get the path constraints only, you still need to invoke the solver
to progress a state (i.e. should KLEE fork a state on a conditional branch instruction, which path is valid?).
Maybe a hacky work around:
* add a global flag in KLEE which you can toggle on/off before and after a state fork (https://github.com/klee/klee/blob/master/lib/Core/Executor.cpp#L703)
* in the QueryLoggignSolver::flushBuffer (https://github.com/klee/klee/blob/master/lib/Solver/QueryLoggingSolver.cpp#L76)
check for that flag and flush in that case
This way, only queries for path constraints get logged.
HTH.
Cheers,
Martin
---------------------------------------------------
Martin Nowack
Research Assistant
Technische Universität Dresden
Computer Science
Institute of Systems Architecture
Systems Engineering
01062 Dresden
Phone: +49 351 463 39608
Email: martin_nowack at tu-dresden.de
----------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 496 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://mailman.ic.ac.uk/pipermail/klee-dev/attachments/20150914/7bc805a8/attachment.sig>
More information about the klee-dev
mailing list