symex-intro

Material for an introductory presentation for symbolic execution.

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

 1CLANG  ?= clang
 2CFLAGS += -std=c99 -g -O0 -Xclang -disable-O0-optnone
 3
 4all: constraints.bc div-by-zero.bc
 5%.bc: %.c
 6	$(CLANG) -emit-llvm -c -o $@ $< $(CPPFLAGS) $(CFLAGS)
 7
 8sim: all
 9	klee --solver-backend=z3 \
10		--libc=uclibc \
11		--posix-runtime \
12		--check-div-zero=true \
13		$(KLEEFLAGS)
14
15clean:
16	rm -rf klee-* constraints.bc div-by-zero.bc
17
18.PHONY: all sim clean