Clone this repo:
  1. d2fbdf7 Add unittest for DiscretePDF by Martin Nowack · 5 weeks ago master
  2. 2675168 klee_int: allow NULL as name by Frank Busse · 3 months ago
  3. c75e42a cmake: find_llvm, handle properly by Jiri Slaby · 4 weeks ago
  4. d4787aa Fixed memory leak from Executor::inCloseMerge, fixes #883 by Lukas Wölfer · 3 weeks ago
  5. 843e9be isLSB should be a boolean, as it is only used in truth contexts by Daniel Schemmel · 4 weeks ago

KLEE Symbolic Virtual Machine

Build Status Coverage

KLEE is a symbolic virtual machine built on top of the LLVM compiler infrastructure. Currently, there are two primary components:

  1. The core symbolic virtual machine engine; this is responsible for executing LLVM bitcode modules with support for symbolic values. This is comprised of the code in lib/.

  2. A POSIX/Linux emulation layer oriented towards supporting uClibc, with additional support for making parts of the operating system environment symbolic.

Additionally, there is a simple library for replaying computed inputs on native code (for closed programs). There is also a more complicated infrastructure for replaying the inputs generated for the POSIX/Linux emulation layer, which handles running native programs in an environment that matches a computed test input, including setting up files, pipes, environment variables, and passing command line arguments.

For further information, see the webpage.