README.txt 1.13 KB
Newer Older
Daniel Dunbar's avatar
Daniel Dunbar committed
1
2
3
4
5
//===----------------------------------------------------------------------===//
// Klee Symbolic Virtual Machine
//===----------------------------------------------------------------------===//

klee is a symbolic virtual machine built on top of the LLVM compiler
Daniel Dunbar's avatar
Daniel Dunbar committed
6
infrastructure. Currently, there are two primary components:
Daniel Dunbar's avatar
Daniel Dunbar committed
7

Daniel Dunbar's avatar
Daniel Dunbar committed
8
9
10
  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/.
Daniel Dunbar's avatar
Daniel Dunbar committed
11

Daniel Dunbar's avatar
Daniel Dunbar committed
12
13
14
  2. A POSIX/Linux emulation layer oriented towards supporting uClibc,
     with additional support for making parts of the operating system
     environment symbolic.
Daniel Dunbar's avatar
Daniel Dunbar committed
15

Daniel Dunbar's avatar
Daniel Dunbar committed
16
17
18
19
20
21
22
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.
Daniel Dunbar's avatar
Daniel Dunbar committed
23

Daniel Dunbar's avatar
Daniel Dunbar committed
24
For further information, see the webpage or docs in www/.