zilu is named after a disciple of Confucius. zilu has been tested on Ubuntu 14.04 x64. It should work on other Linux platfroms, but we have not tested yet.
Windows | Ubuntu | OS X |
---|---|---|
TBD | TBD |
- apt-get install git cmake flex bison clang z3 libz3-dev libgsl0-dev
- "make" and otherLLVM essential building tools, you can add if needed
- KLEE only test llvm2.9 yet, so try to build KLEE by build-llvm29.
git clone https://github.com/lijiaying/zilu.git
cd zilu
This modification aims at generating smt2 file for each path condition. We mainly add new method calls ``klee_fail && klee_pass'', as we would like to output the path condition to files in these method calls.
- patch/klee.6609a03.patch is the patch file. It should be applied to KLEE with commit signature 6609a03e68bf551f433ddd0fd8cf64a8683ee2ee, the short SHA: 6609a03.
- Change to Klee with commit 6609a03.
- git checkout 6609a03
- Apply the patch
- git apply ${zilu-home}/patch/klee.6609a03.patch
- Rebuild and install the patched KLEE.
- make ENABLE_OPTIMIZED=1
- sudo make install
- After patching KLEE, it is OK that several tests of KLEE might be failed. Just ignore them as long as the make return 0.
mkdir -p build/parser
cd build/parser
cmake ../../parser
make
cd ../..
./run benchmark/35.cfg
docker pull lijiaying/zilu