Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 73 additions & 5 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ smt-wire = { path = "crates/smt-wire" }
# gh-release feature downloads a matching prebuilt solver for each.
binbit = { git = "https://github.com/bint-disasm/binbit", rev = "b4996145c06f39ce5bbc79a959975d7d20b6cf5e" }
blake3 = "1"
# The crates.io package is `cobra-mba`; the library itself is named `cobra`.
cobra = { package = "cobra-mba", version = "0.3.0" }
dashu = { version = "0.4.2", features = ["num-traits"] }
rumba-core = "1.0.0"
rusqlite = { version = "0.32", features = ["bundled"] }
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ It targets binary analysis, lifting, symbolic execution, and IR experiments wher
## Backends

- Solve and optimize: [`z3`](https://docs.rs/z3/latest/z3/), [`binbit`](https://github.com/bint-disasm/binbit), and the standalone `qfbvsmtrs` crate.
- Simplify: [Rumba](https://github.com/thalium/rumba) for supported 64-bit-or-smaller MBA expression islands.
- Simplify: [Rumba](https://github.com/thalium/rumba) and [CoBRA](https://github.com/binsnake/cobra) run as a chain over supported 64-bit-or-smaller MBA expression islands; CoBRA adopts only Lean-certified rewrites by default.
- Text compatibility: SMT-LIB `QF_BV` scripts are parsed into the same binary IR used by binary clients.

The binary protocol is the main API. SMT-LIB support exists for tooling compatibility and test reuse.
Expand Down Expand Up @@ -225,7 +225,7 @@ See `docs/qfbvsmtrs-validation.md` for maintainer validation gates and corpus-ru

- `crates/smt-wire` — Rust high-level client API plus server-side wire-format internals and validators.
- `crates/qfbvsmtrs` — standalone pure-Rust `QF_BV` bit-blasting solver crate and CLI.
- `crates/smt-server` — TCP server, Rumba simplifier integration, solver backend integration, SMT-LIB frontend.
- `crates/smt-server` — TCP server, Rumba and CoBRA simplifier integrations, solver backend integration, SMT-LIB frontend.
- `python` — Python client package and tests.
- `cpp` — C++17 header-only package, CMake target, and tests.
- `docs/architecture.md` — current crate/server/backend architecture.
Expand Down
1 change: 1 addition & 0 deletions crates/smt-server/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ license.workspace = true

[dependencies]
binbit.workspace = true
cobra.workspace = true
qfbvsmtrs = { workspace = true, features = ["wire"] }
rumba-core.workspace = true
smt-qfbv-smtlib.workspace = true
Expand Down
Loading
Loading