pkg.soopen package index

brew / rank 8285

Install esbmc with Homebrew

Efficient SMT-based context-bounded model checker for C, C++, and Python. Version 8.4 via Homebrew; verified 2026-07-11.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install esbmc

local Homebrew formula metadata

overview

Package summary

Efficient SMT-based context-bounded model checker for C, C++, and Python

Commands and aliases

  • esbmc

history

Project history and usage

ESBMC is the Efficient SMT-Based Context-Bounded Model Checker, a command-line formal-verification tool for detecting runtime errors and checking assertions in C, C++, CUDA, CHERI, Kotlin, Python, Rust, Solidity, and related programs.

Project history

The project shares ancestry with CBMC and the official repository describes ESBMC as a fork of CBMC v2.9 from 2008. It evolved into an SMT-centered bounded model checker with Clang/LLVM frontends, multiple SMT solver backends, k-induction, concurrency support, and operational models for real-world libraries.

The official project material tracks later expansion into Python, Solidity, Kotlin/Jimple, CHERI, and Rust-oriented verification work, with selected publications covering ESBMC 5.0 in 2018, CHERI and Kotlin work in 2022, and ESBMC 7.4 in 2024.

Adoption history

ESBMC is used in research, education, software security, embedded and firmware verification, smart-contract auditing, and competition settings such as SV-COMP and Test-COMP. The official site notes recent industrial and research deployments involving Arm Realm Management Monitor verification, Ethereum-related checking, Arduino firmware, and ESBMC-AI workflows.

For package-manager users, ESBMC appears as the Homebrew formula `esbmc`, with bottles for macOS and Linux and build dependencies wired to LLVM, Bitwuzla, Z3, Boost, Python, and related solver/compiler libraries.

How it is used

Typical use is a direct CLI invocation such as `esbmc file.c --floatbv --k-induction`, `esbmc file.c --memory-leak-check`, `esbmc file.c --context-bound 2`, or `esbmc main.py`, producing verification success, verification failure, or counterexample output.

ESBMC supports TOML configuration through `ESBMC_CONFIG_FILE`; if that environment variable is not set, official docs state that it checks `%userprofile%\esbmc.toml` on Windows and `~/.config/esbmc.toml` on UNIX.

Why package nerds care

ESBMC is interesting to package maintainers because it is not a small single-language CLI: Homebrew builds it against compiler infrastructure and solver stacks, including LLVM/Clang, Bitwuzla, Z3, Boost, GMP, Python, and yaml-cpp. That makes it a useful example of packaging a research-grade formal-methods tool with heavy native dependencies.

It also matters in CLI/package culture because it turns formal verification into a local executable workflow: users install `esbmc`, point it at source files, and choose solver and checking options without running a separate service.

Timeline

  • 2008: ESBMC forked from CBMC v2.9, according to the official repository README.
  • 2018: ESBMC 5.0 was published as an industrial-strength C model checker in the official selected-publications list.
  • 2022: Official publications and application notes highlight CHERI, Kotlin/Jimple, Solidity, and modern C++ verification work.
  • 2024: ESBMC 7.4 was cited by the project as the recommended TACAS competition paper for ESBMC 7.4 and later.
  • 2025-2026: Official site reports ESBMC-kind SV-COMP ReachSafety placements and FuSeBMC/ESBMC Test-COMP overall wins across 2023-2026.

Related projects

  • CBMC is the direct ancestor identified by the official repository; ESBMC differs by emphasizing SMT-based encodings, Clang/LLVM frontends, solver flexibility, k-induction, and broader language frontends.
  • Related ESBMC ecosystem projects include ESBMC-Web, the VS Code extension, ESBMC-AI, FuSeBMC for test generation, and official integrations around GitHub Actions and solver backends.

security posture

No protected-tool coverage found yet

No matching local secret-handling manifest was found for esbmc. Nucleus package metadata is still published here so future coverage has a stable package URL.

Install behavior

  • No Homebrew bottle metadata was recorded.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Unix
~/.config/esbmc.toml
Windows
%userprofile%\esbmc.toml

executables

Installed executables

CommandKindExposureNote
esbmcexecutableindexed executableDiscovered from the local executable index.

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-08-03
manager version8.4
manager updated2026-07-11
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:esbmc
Version8.4
Package managerHomebrew
Homepagehttps://esbmc.github.io/
Repositoryhttps://github.com/esbmc/esbmc
Last updated2026-07-11T23:23:10+02:00
Pulseupdated
Bottlenot recorded
Servicenone declared

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • pkg.so package database
  • pkgdb category and tag curation