Hello.
        These days I am reading the source code about constraint solver in 
klee. I have some questions about the KQuery language and the sovler's 
implementation.

1) Does the KQuery language has any detail documents or some API that I can use 
to going on my own implementation. Does the language only used by the klee, 
that was invented by klee developer?

2) What is the difference between expression label and version label? Does the 
difference is expression label just like variable in the source code level 
while version label must have the write operation to change the array's element?

3) What is the meaning of the domain and range in the definition of array? In 
the file Expr.h, the comment said "Domain is how many bits can be used to 
access the array", does this means that I access the array element by the way 
in 4 bytes alignment, I access 4 bytes, 32 bits once operation to array. "Range 
is the size (in bits) of the number stored there", this means that each element 
in the array is "range" bits? I am not understand these statement, do you give 
me some example to help me figure it out?

4) The document of the KQuery language states the "floating-point-type = 
"fp[0-9]+([.].*)?" " integer-type = "i[0-9]+"" are reserved keywords and 
supports 2 kinds of declarations, if I want the KQuery language supports the 
declaration of float point type and int type, what should I do? Do I need 
implement a class FloatPoint and Int in the file Expr.h?

5) In the language, SExt ZExt these are all states that evaluates to the lower 
type bits of child-expression, what is the lowest type bits, could you give me 
any example to figure it out? I am confused with the lowest type bits.
    Thanks you very much!
_______________________________________________
klee-dev mailing list
[email protected]
https://mailman.ic.ac.uk/mailman/listinfo/klee-dev

Reply via email to