# Install klee with Homebrew, Nix, zypper

Symbolic Execution Engine. Version 3.2 via Homebrew; verified 2026-06-08.

## Install

```sh
sudo av install brew:klee
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install klee
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#klee
```

  Evidence: nixpkgs package indexes: pkgs/by-name/kl/klee/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- zypper (92%):

```sh
sudo zypper install klee
```

  Evidence: openSUSE Tumbleweed package metadata: klee from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:klee
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/klee>
- **Version:** 3.2
- **Source summary:** Symbolic Execution Engine
- **Homepage:** <https://klee-se.org>
- **Repository:** <https://github.com/klee/klee>
- **Upstream docs:** <https://klee-se.org/docs>
- **License:** NCSA
- **Source archive:** <https://github.com/klee/klee/archive/refs/tags/v3.2.tar.gz>
- **Last updated:** 2026-06-08T22:11:52Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- kleaver (cli)
- klee (cli)
- klee-exec-tree (cli)
- klee-replay (cli)
- klee-stats (cli)
- klee-zesti (cli)
- ktest-gen (cli)
- ktest-randgen (cli)
- ktest-tool (cli)
- kleaver (alias)
- klee (alias)
- klee-exec-tree (alias)
- klee-replay (alias)
- klee-stats (alias)
- klee-zesti (alias)
- ktest-gen (alias)
- ktest-randgen (alias)
- ktest-tool (alias)

## Dependencies

- cryptominisat
- gmp
- gperftools
- llvm@16
- minisat
- python@3.14
- sqlite
- stp
- wllvm
- z3

## Build dependencies

- cmake
- pkgconf

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 3.2
- Package-manager updated: 2026-06-08
- Local data: ok
- Upstream repository: https://github.com/klee/klee
- Upstream latest detected: v3.2 (current)
## Project history and usage

KLEE is a dynamic symbolic execution engine for LLVM bitcode. It became influential because the 2008 OSDI paper demonstrated automatic test generation and bug finding on real Unix software at a scale that made symbolic execution feel practical rather than purely academic.

### Project history

KLEE was initially developed at Stanford by Cristian Cadar, Daniel Dunbar, and Dawson Engler and presented at OSDI 2008. The project site describes it as a symbolic execution engine built on LLVM, and the repository describes the two central pieces: the core symbolic virtual machine and a POSIX/Linux emulation layer for running bitcode programs with symbolic operating-system inputs.

The OSDI evaluation is the historical anchor for KLEE: it ran on GNU Coreutils, BusyBox, MINIX utilities, and the HiStar kernel, using generated tests to expose crashes and correctness problems in heavily used systems code. That paper established the shape of KLEE's long-term identity: a research tool that is still packaged as a practical command-line engine.

### Adoption history

KLEE has been adopted most visibly in research, program-analysis teaching, and systems-testing workflows. A 2020 journal article describes KLEE as a popular dynamic symbolic execution engine that began at Stanford and was later primarily developed and maintained by the Software Reliability Group at Imperial College London.

Package-manager adoption followed from that academic and systems-tooling footprint. The Homebrew formula ships the `klee`, `kleaver`, `ktest-tool`, replay, stats, and test-generation utilities, reflecting KLEE's role as a suite rather than a single binary.

### How it is used

Users compile C or C++ programs to LLVM bitcode, mark inputs symbolic, and run KLEE to explore feasible paths and emit concrete test cases. The POSIX runtime lets KLEE model command-line arguments, files, environment variables, and other parts of a Unix process environment, making it especially attractive for testing command-line utilities.

### Why package nerds care

KLEE matters to package nerds because it turns the package archive itself into test material: Coreutils, BusyBox, and MINIX utilities were not toy examples but ordinary low-level programs. It is also a good example of why some research artifacts become durable packages: the build may be specialized, but the command-line behavior is useful enough for distributions to preserve.

### Timeline

- 2008: OSDI paper presented KLEE as a symbolic execution tool for high-coverage tests on complex systems programs.
- 2008: The OSDI evaluation reported KLEE runs over more than 452 programs and serious bugs in Coreutils, BusyBox, MINIX, and HiStar.
- 2020: A journal article described KLEE's post-Stanford maintenance and its academic and industry community.
- 2025-12-23: GitHub releases page listed KLEE 3.2.

### Related projects

- KLEE is related to LLVM, STP and other SMT-backed solver tooling, S2E, angr, CBMC, AFL-style testing workflows, and the POSIX utility suites used in its original evaluation.

### Sources

- <https://github.com/klee/klee>
- <https://klee-se.org/>
- <https://link.springer.com/article/10.1007/s10009-020-00570-3>
- <https://www.usenix.org/event/osdi08/tech/full_papers/cadar/cadar.pdf>


## Security Notes

generalized runtime or code generation signal.

- **Geiger risk:** yellow / medium
- generalized runtime or code generation signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** klee
- **Version Scheme:** 0
- **Revision:** 3
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - klee: normalized package name match | nixpkgs package indexes: pkgs/by-name/kl/klee/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- zypper - klee - 3.2+20260221-1.2: normalized package name match | openSUSE Tumbleweed package metadata: klee from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | LLVM Execution Engine | http://klee.github.io/


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [cryptominisat](https://www.automicvault.com/pkg/brew/cryptominisat/) - Runtime dependency declared by Homebrew.
- [llvm@16](https://www.automicvault.com/pkg/brew/llvm-16/) - Runtime dependency declared by Homebrew.
- [minisat](https://www.automicvault.com/pkg/brew/minisat/) - Runtime dependency declared by Homebrew.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [sqlite](https://www.automicvault.com/pkg/brew/sqlite/) - Runtime dependency declared by Homebrew.
- [stp](https://www.automicvault.com/pkg/brew/stp/) - Runtime dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [lit](https://www.automicvault.com/pkg/brew/lit/) - Shares av.db curated category or tags: cli, developer-tools, llvm, testing.
- [mcp-inspector](https://www.automicvault.com/pkg/brew/mcp-inspector/) - Shares av.db curated category or tags: cli, developer-tool, developer-tools, testing.
- [allure](https://www.automicvault.com/pkg/brew/allure/) - Shares av.db curated category or tags: cli, developer-tools, testing.
- [artillery](https://www.automicvault.com/pkg/brew/artillery/) - Shares av.db curated category or tags: cli, developer-tools, testing.
- [busted](https://www.automicvault.com/pkg/brew/busted/) - Shares av.db curated category or tags: cli, developer-tools, testing.
- [bzt](https://www.automicvault.com/pkg/brew/bzt/) - Shares av.db curated category or tags: cli, developer-tools, testing.
- [cargo-fuzz](https://www.automicvault.com/pkg/brew/cargo-fuzz/) - Shares av.db curated category or tags: cli, developer-tools, testing.
- [cargo-hack](https://www.automicvault.com/pkg/brew/cargo-hack/) - Shares av.db curated category or tags: cli, developer-tools, testing.

## Combined YAML source

View the package source record on GitHub. [combined/klee.yml](https://github.com/automic-vault/db/blob/main/combined/klee.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
