Consider the following C program:
How many paths will reach the printf
line, and what are their path conditions?
List two types of bugs that can be caught by KLEE, as well as two types of bugs that cannot be caught by KLEE.
Why do you think KLEE perform better than a simple enumeration strategy (e.g., checking all 232 possible values of x in the above program)?
Provide a list of questions you would like to discuss in class. Feel free to provide any comments on the paper and related topics (e.g., which parts you like and which parts you find confusing).
If you are interested, check the mini checker (the core part consists of ~10 lines of Python code) along with some examples.