1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

Welcome to the LinDD Project

This project is dedicated to Linear Decision Diagrams (LDDs) and associated tools and techniques. LDD is a data structure for representing formulas in linear arithmetic (LA) and its fragments. It is designed to be efficient for tasks that are at the core of many program analysis and software model checking techniques (e.g., predicate abstraction). Such tasks include Boolean manipulation and existential quantification of numeric variables from LA formulas. LDDs can be seen as an extension of Difference Decision Diagrams (DDDs) to full LA, and are implemented on top of the state-of-the-art CUDD package. Below you will find links to LDD-related documents and software releases.

Publications

Software

  • ldd : The LDD library. Implementation is in C, and on top of CUDD.
  • lddsolver : A solver for SMT formulas built on top of LDD.
    • Source code. An Eclipse project. See LddsolverEclipseTutorial.
    • Standalone binary. For usage information, run:
      java -jar lddsolver.jar
      
      Typical usage:
      java -jar lddsolver.jar -t tvpi --exists fm foo.smt
      

Benchmarks

Each benchmark is a set of SMT formulas with existential quantification. Goal is to compute equivalent formulas without quantifiers. Available benchmarks are:

  • fmcad09_benchmark : Each SMT formula represents a forward image computation. Used in our FMCAD09 paper (see publications above).
  • pa : Each SMT formula represents a predicate abstraction query for large-block encoding.

License

The software is distributed under a modified BSD License (LddLicense)

Contact

Email lindd-feedback@… with questions and comments.