yqyq-w / klee

KLEE Symbolic Execution Engine

Home Page:http://klee.github.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KLEE Symbolic Virtual Machine

Build Status 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.

About

KLEE Symbolic Execution Engine

http://klee.github.io/

License:Other


Languages

Language:C++ 51.8%Language:C 36.9%Language:CMake 3.5%Language:Python 3.1%Language:LLVM 2.8%Language:Shell 0.9%Language:NASL 0.4%Language:HTML 0.3%Language:PHP 0.2%Language:Emacs Lisp 0.1%Language:Dockerfile 0.1%Language:SMT 0.0%