# 使用 Homebrew 安装 esbmc

查看 esbmc 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

## 安装

```sh
sudo av install brew:esbmc
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install esbmc
```

  证据: local Homebrew formula metadata

## 软件包事实

- **软件包键:** brew:esbmc
- **软件包管理器:** Homebrew
- **版本:** 8.4
- **来源摘要:** Efficient SMT-based context-bounded model checker for C, C++, and Python
- **主页:** <https://esbmc.github.io/>
- **仓库:** <https://github.com/esbmc/esbmc>
- **最后更新:** 2026-07-11T23:23:10+02:00
- **已生成:** 2026-08-03T19:37:03+00:00

## 可执行文件

- esbmc (别名)

## 安装行为

- Bottle: 不可用

## 版本和新鲜度

- 页面生成时间: 2026-08-03
- 管理器版本: 8.4
## 项目历史与用法

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.

### 项目历史

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.

### 采用历史

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.

### 使用方式

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.

### 为什么软件包爱好者会关心

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.

### 时间线

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

### 来源

- <https://esbmc.github.io/>
- <https://esbmc.github.io/docs/>
- <https://esbmc.github.io/docs/config/>
- <https://esbmc.github.io/docs/development/building/>
- <https://esbmc.github.io/docs/setup/>
- <https://esbmc.github.io/docs/usage/>
- <https://github.com/esbmc/esbmc>
- <https://raw.githubusercontent.com/Homebrew/homebrew-core/master/Formula/e/esbmc.rb>
- source_facts.description
- source_facts.package-manager


## 安全说明

没有找到 esbmc 的匹配本地密钥处理 manifest。Nucleus 软件包元数据仍在此发布，以便未来覆盖拥有稳定的软件包 URL。



## 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

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

## Combined YAML source

View the package source record on GitHub. [combined/esbmc.yml](https://github.com/mxcl/pkgdb/blob/main/combined/esbmc.yml)


## 来源

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