Dear all,
    In klee, the memory should be allocated before its running. E.g., if we 
have a pointer p, then its initialization code could be
      int p_instance;
      klee_make_symbolic(&p_instance,sizeof(int),'p');
      where int*p=&p_instance;
    or,
      int*p=malloc(sizeof(int));
      klee_make_symbolic(p,sizeof(int),'p');
    This causes the problem that we cannot deal with the complex, pointer-rich 
data such as a chained list in klee. E.g., the following
is a node structure. While running klee, its pointer next cannot be allocated 
automatically.
    struct point{
       int x;
       struct point*next;
    };
    In the paper "Under-Constrained Symbolic Execution: Correctness Checking 
for Real Code, 24th USENIX Security Symposium 2015",
it introduced the UC-KLEE which can handle such situation and mentioned a 
technique named "Lazy initialization" (see section  2.1).
I want to know where can I get the release version of UC-KLEE? Or, how to 
implement this technique in klee?
    Thanks a lot.

-Buka




【网易自营|30天无忧退货】德国Birkenstock制造商“经典软木凉拖”限时仅69.9元>>        




 
_______________________________________________
klee-dev mailing list
klee-dev@imperial.ac.uk
https://mailman.ic.ac.uk/mailman/listinfo/klee-dev

Reply via email to