Systematic Protocol Analysis Project
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
autoconf
docs
examples
include
lib
runtime
scripts
test
tools
unittests
utils
#.gitc#
.gitignore
.gitmodules
LICENSE.TXT
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
README.md
README.txt
TODO.txt
build.sh
configure
env.sh

README.md

Klee Symbolic Virtual Machine

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.