# Install alive2 with Homebrew, Nix

Automatic verification of LLVM optimizations. Version 21.0 via Homebrew; verified 2026-06-22.

## Install

```sh
sudo av install brew:alive2
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install alive2
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#alive2
```

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

## Package facts

- **Package key:** brew:alive2
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/alive2>
- **Version:** 21.0
- **Source summary:** Automatic verification of LLVM optimizations
- **Homepage:** <https://github.com/AliveToolkit/alive2>
- **Repository:** <https://github.com/AliveToolkit/alive2>
- **Upstream docs:** <https://alive2.llvm.org/ce>
- **License:** MIT
- **Source archive:** <https://github.com/AliveToolkit/alive2.git>
- **Last updated:** 2026-06-22T14:02:42-07:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- alive (cli)
- alive-exec (cli)
- alive-jobserver (cli)
- alive-tv (cli)
- quick-fuzz (cli)
- alive (alias)
- alive-exec (alias)
- alive-jobserver (alias)
- alive-tv (alias)
- quick-fuzz (alias)

## Dependencies

- hiredis
- llvm
- z3
- zstd

## Build dependencies

- cmake
- re2c

## Install behavior

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

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 21.0
- Package-manager updated: 2026-06-22
- Local data: ok
- Upstream repository: https://github.com/AliveToolkit/alive2
- info: No cached GitHub release or tag data was available.
## Project history and usage

Alive2 is a toolkit for analyzing and verifying LLVM code and transformations, centered on translation validation for compiler optimizations.

### Project history

The public Alive2 repository starts with an initial commit on 2018-06-09. Its README describes libraries for Alive2 IR, symbolic execution, LLVM-to-Alive2 IR conversion, refinement checking, and SMT abstraction, plus tools including an Alive drop-in replacement, alive-tv, alive-exec, and clang/opt translation-validation plugins.

The project positions itself as the successor in spirit to Alive for LLVM optimization reasoning, but with a broader toolkit around real LLVM IR and translation validation. The README points to the PLDI 2021 Alive2 paper for the technical introduction.

Alive2 tracks LLVM closely: its README says the latest Alive2 is intended to build against the latest LLVM main branch, and its later release tags use LLVM-version-like labels such as v19.0, v20.0, and v21.0.

### Adoption history

Alive2 is used as an LLVM quality tool rather than a general application. The README says the maintainers run translation validation across LLVM IR-level transformation tests on LLVM main each day and publish results. The repository's BugList lists many LLVM and Z3 issues found by Alive2.

The project also has an online alive-tv instance, letting compiler developers try translation validation without building the local toolchain.

### How it is used

Package users usually run alive-tv on source and target LLVM IR, wrap opt through Alive2's translation-validation scripts, or compile through alivecc/alive++ to validate IR-level transformations performed by clang. alive-exec is documented as an experimental UB-precise LLVM function interpreter.

The toolchain is intentionally low-level: it needs CMake, a C/C++ compiler, re2c, Z3, and often a matching LLVM build with RTTI and exceptions enabled.

### Why package nerds care

Alive2 is notable in package-manager catalogs because it packages research-grade compiler verification as command-line tools. For LLVM-heavy users, installing alive-tv is a practical way to test optimizer correctness without assembling the whole research environment by hand.

It also depends on the exact moving edge of LLVM, which makes it a good example of a package whose value is tied to keeping versions and build flags aligned with upstream compiler development.

### Timeline

- 2018: Public Git history begins with an initial commit.
- 2020: README example documents an LLVM release/10.x optimizer bug found by alive-tv.
- 2021: PLDI 2021 paper published as the project's technical introduction.
- 2024: v19.0 tag appears in the repository history.
- 2025: v21.0 tag appears in the repository history.

### Related projects

- LLVM: primary compiler IR and optimization target.
- Z3: SMT solver dependency and one of the projects whose bugs are tracked in Alive2's BugList.
- Alive: earlier optimization-verification tool referenced by Alive2's drop-in replacement.

### Sources

- Alive2 PLDI 2021 paper linked from README: https://web.ist.utl.pt/nuno.lopes/pubs/alive2-pldi21.pdf
- Git history from https://github.com/AliveToolkit/alive2.git
- Official Alive2 BugList: https://raw.githubusercontent.com/AliveToolkit/alive2/master/BugList.md
- Official Alive2 README: https://raw.githubusercontent.com/AliveToolkit/alive2/master/README.md


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** alive2
- **Version Scheme:** 0
- **Revision:** 4
- **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 - alive2: normalized package name match | nixpkgs package indexes: pkgs/by-name/al/alive2/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [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.
- [llvm](https://www.automicvault.com/pkg/brew/llvm/) - Runtime dependency declared by Homebrew.
- [z3](https://www.automicvault.com/pkg/brew/z3/) - Runtime dependency declared by Homebrew.
- [zstd](https://www.automicvault.com/pkg/brew/zstd/) - Runtime dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [re2c](https://www.automicvault.com/pkg/brew/re2c/) - Build dependency declared by Homebrew.
- [cbmc](https://www.automicvault.com/pkg/brew/cbmc/) - Shares av.db curated category or tags: cli, developer-tools, verification.
- [emscripten](https://www.automicvault.com/pkg/brew/emscripten/) - Shares av.db curated category or tags: cli, compiler, developer-tools, llvm.
- [pocl](https://www.automicvault.com/pkg/brew/pocl/) - Shares av.db curated category or tags: cli, compiler, developer-tools, llvm.
- [aarch64-elf-gcc](https://www.automicvault.com/pkg/brew/aarch64-elf-gcc/) - Shares av.db curated category or tags: cli, compiler, developer-tools.
- [adaptivecpp](https://www.automicvault.com/pkg/brew/adaptivecpp/) - Shares av.db curated category or tags: cli, compiler, developer-tools.
- [arm-none-eabi-gcc](https://www.automicvault.com/pkg/brew/arm-none-eabi-gcc/) - Shares av.db curated category or tags: cli, compiler, developer-tools.
- [asn1c](https://www.automicvault.com/pkg/brew/asn1c/) - Shares av.db curated category or tags: cli, compiler, developer-tools.
- [spirv-llvm-translator](https://www.automicvault.com/pkg/brew/spirv-llvm-translator/) - Local package facts share a topical domain. Shared terms: cli, compiler, developer, developer-tools, llvm.
- [clang-uml](https://www.automicvault.com/pkg/brew/clang-uml/) - Local package facts share a topical domain. Shared terms: automatic, cli, developer, developer-tools, llvm.
- [dafny](https://www.automicvault.com/pkg/brew/dafny/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, verification, z3.

## Combined YAML source

View the package source record on GitHub. [combined/alive2.yml](https://github.com/automic-vault/db/blob/main/combined/alive2.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
