Hi,

The STP input language used by the .cvc files is documented here:
http://sites.google.com/site/stpfastprover/stp-documentation

The PC language used by the .pc files is documented here:
http://klee.llvm.org/KQuery.html

Best,
Cristian

On 03/11/11 15:00, amitaï madar wrote:
> Hi all.
> I want to get the path constraints of each test case that KLEE creates
> in a readable way.
> for example with the following program:
> int foo(int x) {    
> if(x>0)
>        return 1;
> return 0;
>   } 
> 
>   int main() {
>       int x;
>       klee_make_symbolic(&x, sizeof(x), "x");
>       return foo(x);
>   }
> 
> I want to get: 
> -testcase000001.ktest is for x>0
> -testcase000002.ktest is for x<0
> I read on the archive that someone succeed this with the .cvc files.
> However the .cvc files look like this 
> __tmpInt8  : BITVECTOR(8);
> __tmpInt16  : BITVECTOR(16);
> __tmpInt32  : BITVECTOR(32);
> __tmpInt64  : BITVECTOR(64);
> x_0xa05ad38  : ARRAY BITVECTOR(32) OF BITVECTOR(8);
> %----------------------------------------------------
> ASSERT( SBVLT(0hex00000000,(x_0xa05ad38[0hex00000003] @
> (x_0xa05ad38[0hex00000002] @ (x_0xa05ad38[0hex00000001] @
> x_0xa05ad38[0hex00000000])
> )
> )
> )
>  );
> %----------------------------------------------------
> QUERY( FALSE  );
> I'm looking for a way to get from this  x>0.
> I tried to use STP constrain solver but was unsuccessful.
> There is also .pc file that looks like this:
> array x[4] : w32 -> w8 = symbolic
> (query [(Slt 0
>              (ReadLSB w32 0 x))]
>        false)
> but again this isn't easily understandable.
> Thanks for your help.
> 
> 
> 
> 
> _______________________________________________
> klee-dev mailing list
> klee-dev@keeda.stanford.edu
> http://keeda.Stanford.EDU/mailman/listinfo/klee-dev
_______________________________________________
klee-dev mailing list
klee-dev@keeda.stanford.edu
http://keeda.Stanford.EDU/mailman/listinfo/klee-dev

Reply via email to