On 25/07/15 17:59, Zhoulai wrote:
Hello,
Hi,


I have two naive questions.

I thought KLEE relies on SMT solver on the theory of linear arithmetics
No, it relies on the theory of bitvectors and arrays.

and therefore, it should be unable to explore path involving non-linear
relation.  But I am surprised by the results from testing a program with
a simple polynomial constraint:

/#include <klee/klee.h>
#include <stdio.h>
int foo(int x) {
   int y = x*x*x+x*x+x;
   if (y == 1110){
      .......
   }
/
/  return 0;
/
/}

int main() {
   int a;
   klee_make_symbolic(&a, sizeof(a), "a");
   return foo(a);
}
/
KLEE successfully triggers the branch 'y==1110', Why?

*Another question:* I got a warning from symbolically executing the
program above:
/
KLEE: WARNING ONCE: calling external: puts(169520648)/

What does the warning mean?
The function puts is not instrumented.

Best,
Cristian


Thanks for your ideas.
Zhoulai


_______________________________________________
klee-dev mailing list
[email protected]
https://mailman.ic.ac.uk/mailman/listinfo/klee-dev


_______________________________________________
klee-dev mailing list
[email protected]
https://mailman.ic.ac.uk/mailman/listinfo/klee-dev

Reply via email to