KLEE

master branch

The 5th International KLEE Workshop on Symbolic Execution is coming!
Join us from 15–16 October 2026 in Munich!

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 libncurses-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 apt-get install pipx
   $ pipx install lit wllvm

In older Ubuntu distributions, you might need instead to use:

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

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