On 09/29/2010 03:43 PM, xiao.qu at us.abb.com wrote:
>
> Thank you, Christian. I am new to KLEE, I have a lot simple questions.
>
> How does KLEE handle structure, unsigned int, long types?
>
> For example,
>
> struct A {unsigned int a, short int b};
>
> main()
> {
> A obj_A;
> klee_make_symbolic(&obj_A, sizeof(obj_A), "obj"); // *can I do this?*
Yes, you can mark any memory object as symbolic (note that there are 
some syntactical errors in your code though).

> }
>
>
> As for *int*, does * a = klee_int ("newint"); * works equivalent to *int
> a; klee_make_symbolic(&a, sizeof(int), "newint") *?
Yes.

Best,
Cristian

>
> Thanks,
>
> Xiao
>
>
>
>
> *Cristian Cadar <c.cadar at imperial.ac.uk>*
>
> 09/27/2010 06:34 PM
>
>       
> To
>       Xiao Qu/USABB/ABB at ABB
> cc
>       "klee-dev at keeda.stanford.edu" <klee-dev at keeda.stanford.edu>
> Subject
>       Re: [klee-dev] klee replay and coverage information
>
>
>       
>
>
>
>
>
>
> Hi Xiao,
>
>  > 1. In the tutorials, only klee_make_symbolic_name and klee_make_symbolic
>  > are used, where can I find the other methods such as "klee_int" you
>  > mentioned? Any documentation on how to use these methods?
> You can find the entire list of KLEE intrinsics, with comments, in
> include/klee/klee.h.
>
>  > 2. In the second case where I use "KTEST_FILE=xxx; ./a.out;" for replay,
>  > gcov will also count the codes in /Release/lib/ ---- maybe in these
>  > cases, we need to manually run test cases in order to get "pure"
> coverage.
> You should be able to simply ignore that directory when you aggregate
> coverage information.
>
> Best,
> Cristian
>
>  > Thanks,
>  > Xiao
>  >
>  >
>  >
>  >
>  > *Wujie Zheng <wjzheng at cse.cuhk.edu.hk>*
>  >
>  > 09/27/2010 01:12 PM
>  >
>  >
>  > To
>  > Xiao Qu/USABB/ABB at ABB
>  > cc
>  > klee-dev at keeda.stanford.edu
>  > Subject
>  > Re: [klee-dev] klee replay and coverage information
>  >
>  >
>  >
>  >
>  >
>  >
>  >
>  >
>  > Hi Xiao
>  >
>  > 1. If you use only symbolic arguments, use "klee-replay ./a.out
>  > klee-last/*.ktest;" (a.out is the program under test compiled normally)
>  > If you use klee_int or other methods, use "KTEST_FILE=xxx; ./a.out;"
>  > (a.out needs to be compiled with the libraries under /Release/lib/)
>  > 2. I don't check the info in run.stats carefully, but it is convenient
>  > to use gcov to collect the coverage information. You can write a simple
>  > parser for the .gcov files. For overall coverage of files in a
>  > directory, you can use the zcov tool.
>  >
>  > Best wishes,
>  > Wujie
>  >
>  > Xiao Qu wrote:
>  > >
>  > > Hi,
>  > >
>  > > I have some questions on replaying test cases and collecting coverage
>  > > information.
>  > >
>  > > 1. In Tutorial One and Three, there are two different methods to
>  > > replay test cases. One is build with "libkleeRuntest library" while
>  > > the other one is use "klee-replay" directly.
>  > >
>  > > I guess klee-replay only applies when the symbolic input is the
>  > > "direct" input parameters for the main function?
>  > >
>  > > Plus, I didn't find libkleeRuntest.dylib in Release/lib ?
>  > >
>  > >
>  > > 2. In order to collect coverage information, do I have to use gcov?
>  > > Can we just get the similar information from "*run.stats* " ?
>  > >
>  > > Thanks,
>  > > Xiao
>  > >
> ------------------------------------------------------------------------
>  > >
>  > > _______________________________________________
>  > > klee-dev mailing list
>  > > klee-dev at keeda.stanford.edu
>  > > http://keeda.Stanford.EDU/mailman/listinfo/klee-dev
>  > >
>  >
>  > <
> <http://keeda.stanford.edu/mailman/listinfo/klee-dev>http://keeda.stanford.edu/mailman/listinfo/klee-dev>
>

Reply via email to