int main() { int x; klee_make_symbolic(&x, sizeof(x), "x"); // call once, so that it is not removed by optimizations bar(); // no aliases foo(); if (x > 10) { // foo -> bar klee_alias_function("foo", "bar"); if (x > 20) foo(); } foo(); // undo klee_alias_function("foo", "foo"); foo(); }
int main() { int x; klee_make_symbolic(&x, sizeof(x), "x"); klee_alias_function("exit", "end"); start(x); end(0); }
int main() { int x; klee_make_symbolic(&x, sizeof(x), "x"); // no aliases foo(); if (x > 10) { // foo -> bar klee_alias_function("foo", "bar"); if (x > 20) foo(); } foo(); // undo klee_alias_function("foo", "foo"); foo(); }
void end(int status) { klee_alias_function("exit", "exit"); printf("END: status = %d\n", status); exit(status); }