KLEE

master branch

Building KLEE

Dependencies

KLEE requires all the dependencies of LLVM (see here), and some more.

In particular, you should install the programs and libraries listed below. graphviz/doxygen are optional and only needed to generate the source code documentation.

Under Ubuntu, use:

   $ sudo apt-get install build-essential cmake curl file g++-multilib gcc-multilib git libcap-dev libgoogle-perftools-dev libncurses5-dev libsqlite3-dev libtcmalloc-minimal4 python3-pip unzip graphviz doxygen

Under macOS, run:

   $ brew install curl git cmake python unzip gperftools sqlite3 graphviz doxygen bash

You should also install lit to enable testing, tabulate to support additional features in klee-stats and wllvm to make it easier to compile programs to LLVM bitcode:

   $ sudo pip3 install lit wllvm
   $ sudo apt-get install python3-tabulate

In more recent Ubuntu distributions, you should install the Python packages via pipx:

   $ sudo apt-get install pipx
   $ pipx install lit wllvm

and make sure that e.g. ~/.local/bin (check with python3 -m site --user-base on your system) is in your PATH.