CUDD Documentation

On this page we collect links and resources that document the original CUDD library and thus will also help to use the ADD-Lib APIs.

“The CUDD package provides functions to manipulate Binary Decision Diagrams (BDDs) [4, 3], Algebraic Decision Diagrams (ADDs) [2], and Zero-suppressed Binary Decision Diagrams (ZDDs) [5].” [1] With the ADD-Lib, we allow these users to call (almost) all of CUDD’s C functions directly from within their Java applications. The CUDD-like API is as close to the CUDD API as possible so you can always refer to the original CUDD documentation.

CUDD Manual

The CUDD Manual [1] provides a great introduction to the CUDD library and consequently to our CUDD-like API as well. The manual is part of CUDD and therefore subject to its BSD licence.

CUDD Manual

Doxygen Documentation

The CUDD-like API is designed analogously to the CUDD API so you may refer to its the Doxygen documentation. Again, this documentation is part of CUDD and therefore subject to its BSD licence.


[1] F. Somenzi, “CUDD: CU Decision Diagram Package”,, 2018.
[2] R. I. Bahar, E. A. Frohm, C. M. Gaona, G. D. Hachtel, E. Macii, A. Pardo, and F. Somenzi, “Algebraic decision diagrams and their applications,” Proceedings of 1993 International Conference on Computer Aided Design (ICCAD), 1993.
[3] K. S. Brace, R. L. Rudell, and R. E. Bryant, “Efficient implementation of a BDD package,” Proceedings of the 27th ACM/IEEE Design Automation Conference, 1990.
[4] R. E. Bryant, “Graph-Based Algorithms for Boolean Function Manipulation,” in IEEE Transactions on Computers, vol. C-35, no. 8, 1986.
[5] S.-I. Minato, “Zero-Suppressed BDDs for Set Manipulation in Combinatorial Problems,” Proceedings of the 30th ACM/IEEE Design Automation Conference, 1993.