l7 - CS 267: Automated Verification Lecture 7: Binary...

Info iconThis preview shows pages 1–8. Sign up to view the full content.

View Full Document Right Arrow Icon
CS 267: Automated Verification Lecture 7: Binary Decision Diagrams Instructor: Tevfik Bultan
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Binary Decision Diagrams (BDDs) [Bryant 86] Reduced Ordered Binary Decision Diagrams (BDDs) An efficient data structure for representing truth sets of boolean formulas and manipulating them There are BDD packages available: (for example CUDD from Colorado University) BDDs are a canonical representation for boolean functions given two boolean logic formulas F and G, if F and G are equivalent (i.e. if their truth sets are the same), then their BDD representations will be the same
Background image of page 2
BDDs for Symbolic Model Checking BDD data structure can be used to implement the symbolic model checking algorithm we discussed earlier BDDs support all the operations we need for symbolic model checking take conjunction of two BDDs take disjunction of two BDDs test equivalence of two BDDs test subsumption between two BDDs negate a BDD test if a BDD satisfiable test if a BDD is a tautology existential variable elimination
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Reduced and Ordered Binary Decision Diagrams We are interested in Reduced and Ordered Binary Decision Diagrams Reduced: Merge all identical sub-trees in the binary decision tree (converts it to a directed-acyclic graph) Remove redundant tests (if the false and true branches for a node go to the same place, remove that node) Ordered We pick a fix order for the Boolean variables: x 0 < x 1 < x 2 < … The nodes in the BDD are listed based on this ordering
Background image of page 4
Binary Decision Trees Fix a variable order. In each level of the tree, branch on the value of the variable in that level. Examples for boolean formulas on two variables Variable order: x, y F F F T T T x y y T F T T x y F F F T T F x y y F F T T x y F F F T T F x y y T F T T x F F F T T F x y y F F T F False
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
BDDs Repeatedly apply the following transformations to a binary decision tree: 1. Remove duplicate terminals 2. Remove duplicate non-terminals 3. Remove redundant tests These transformations transform the tree to a directed acyclic graph
Background image of page 6
Binary Decision Trees vs. BDDs
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 8
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 20

l7 - CS 267: Automated Verification Lecture 7: Binary...

This preview shows document pages 1 - 8. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online