#binary-decision-diagrams #model-checker #threshold-automaton #verification

taco-bdd

A Binary Decision Diagram (BDD) crate that provides a unified interface for the CUDD and OxiDD BDD libraries. This crate is part of the TACO toolsuite.

1 unstable release

Uses new Rust 2024

0.1.0 Jan 20, 2026
0.1.0-alpha.1 Jan 19, 2026

#1475 in Data structures


Used in 7 crates (3 directly)

Custom license

60KB
1.5K SLoC

Common interface for binary decision diagrams (BDDs) and BDD managers

This package provides a generic interface for BDDs and BDD managers, allowing the use of multiple BDD libraries, depending on your needs. Currently, this package includes CUDD and OxiDD:

To interface with BDDs use the [BDD] and BDDManager types, as well as the BDDManagerConfig to configure the different managers.

To add a new BDD library, implement the [Bdd] and BddManager traits for the library, add it as new module and add a variant for the new library to the [BDD] and BDDManager types.


TACO Binary Decision Diagrams

This crate provides a simple unified interface for different binary decision diagram (BDD) libraries. It has been specifically implemented for the needs of the model checkers in the TACO toolsuite for threshold automata.

You are welcome to use it in your project too, but be aware that the need of TACO will be prioritized during the development of this crate.

This crate is part of the TACO toolsuite for threshold automata. You can find more background on related crates on the TACO website.

Dependencies

~2.2–3MB
~58K SLoC