[klee-dev] Choosing the concrete values and getting the symbolic constraints
Cristian Cadar
c.cadar at imperial.ac.uk
Tue Jan 10 22:41:27 GMT 2017
Hi, there is some documentation for ZESTI at
https://srg.doc.ic.ac.uk/projects/zesti/. Unfortunately, the project is
not maintained anymore.
Best,
Cristian
On 14/12/2016 12:46, Papapanagiotakis-Bousy, Iason wrote:
> Hi Thuan,
>
>
> Thank you for pointing me to those two tools. Are you aware if there is
> any documentation for ZESTI ?
>
>
> Regards,
>
> Jason
>
> ------------------------------------------------------------------------
> *From:* thuanpv.nus at gmail.com <thuanpv.nus at gmail.com> on behalf of Thuan
> Pham <thuanpv at comp.nus.edu.sg>
> *Sent:* 14 December 2016 10:23:41
> *To:* Papapanagiotakis-Bousy, Iason
> *Cc:* klee-dev at imperial.ac.uk
> *Subject:* Re: [klee-dev] Choosing the concrete values and getting the
> symbolic constraints
>
> Hi Jason,
> What you want can be achieved by using concolic execution or using seed
> mode in KLEE. The default mode of KLEE is symbolic execution.
> For concolic execution, you can try ZESTI or S2E. For seed mode in KLEE,
> you need somehow convert your concrete input to a .ktest file so KLEE
> can read it.
>
> The two approaches you tried should not work. First approach will result
> in a constraint Phi ^ (x==value) where Phi is the path constraints so
> the result is always x=value as you got or unsatisfiable. The second one
> also does not work because by writing a concrete value to a symbolic
> variable, you will write concrete value to the memory area allocated for
> this variable in the symbolic memory model of KLEE -> that memory area
> will not be symbolic anymore, it is concrete.
> Hope it will helps,
> Thuan
>
> On Mon, Dec 12, 2016 at 8:33 PM, Papapanagiotakis-Bousy, Iason
> <iason.papapanagiotakis-bousy.15 at ucl.ac.uk
> <mailto:iason.papapanagiotakis-bousy.15 at ucl.ac.uk>> wrote:
>
> Hi everyone,
>
>
> I would like to know how could I specify the concrete values chosen
> by KLEE to execute.
>
> Instead of the normal mode of KLEE I would like to be able to choose
> a value (I am interested only in integers and assume for
> simplification that there is only one symbolic variable in the
> program) and execute the program in KLEE with that value and record
> the symbolic constraints encountered.
>
>
> I've tried the following two approaches:
> 1) using klee_assume(x==the_value_of_my_choice)
>
> this does not seem to work as the only constraint that is generated
> in kquery is the one I've given to klee_assume.
>
>
> 2) assigning a value to the symbolic variable
>
> int x;
>
> klee_make_symbolic(&x, sizeof(x), "x");
>
> x=the_value_of_my_choice
>
> this does not seem to work either as the resulting kquery file has
> an empty query "(query [] false)".
>
>
> How could I pick the value used during concolic execution and get
> the symbolic constraints?
>
>
> Thank you in advance for your suggestions.
>
>
> Best regards,
>
> Jason
>
>
> _______________________________________________
> klee-dev mailing list
> klee-dev at imperial.ac.uk <mailto:klee-dev at imperial.ac.uk>
> https://mailman.ic.ac.uk/mailman/listinfo/klee-dev
> <https://mailman.ic.ac.uk/mailman/listinfo/klee-dev>
>
>
>
>
> _______________________________________________
> klee-dev mailing list
> klee-dev at imperial.ac.uk
> https://mailman.ic.ac.uk/mailman/listinfo/klee-dev
>
More information about the klee-dev
mailing list