symex-intro

Material for an introductory presentation for symbolic execution.

git clone https://git.8pit.net/symex-intro.git

 1#include <stdbool.h>
 2#include <klee/klee.h>
 3
 4int myfunc(bool a, bool b) {
 5  int x = 23, y = 42;
 6
 7  if (a)
 8    x = 0;
 9  else
10    y = 0;
11
12  if (b)
13    return 5 / x;
14  else
15    return 5 / y;
16}
17
18int main(void) {
19  bool a, b;
20
21  klee_make_symbolic(&a, sizeof(a), "a");
22  klee_make_symbolic(&b, sizeof(b), "b");
23
24  myfunc(a, b);
25  return 0;
26}