Lecture 18
Binary Decision Diagrams &
SAT Model Checking
Stanley Bak
Literature Review
Due Oct 31 (Thursday) at 11:59pm
Similar to a literature review section in a paper, except with more detail (5-10 pages). Use typical conference format, such as IEEE: https://www.ieee.org/conferences/publishing/templates.html
Rather than a sentence for each paper, include 1-3 paragraphs describing paper. Describe (1) what the paper did that is new, (2) how they did it, (3) any proofs, (4) how they evaluated their results, and (5) how their results compare to others in the area. Also provide (6) your opinions on the strengths and weaknesses of the paper.
Paper Presentations
First presentation (and one-page write-up) is in one week. Paper will be sent out today. Pick a paper closely related to your project topic.
The presentation (20 minutes) should explain the content of the paper, teaching some of the key technical results to the rest of the class.
This is similar to a conference presentation. Be sure to cover (1) background and problem being addressed, (2) existing solutions, (3) the new result and how it works (teach us something new), (4) what evaluation was performed.
Binary Decision Diagrams
[BDDs are] one of the only really fundamental data
structures that came out in the last twenty-five years.
— Donald Knuth “Fun with Binary Decision Diagrams”, 2008
Randal Bryan's 1986 paper "Graph-based algorithms for boolean function manipulation" was for some time the most cited paper in Computer Science (currently 11371 citations).
Binary Functions
ROBDD Example
ROBDD Example (2)
Canonical Representation
Efficient Table Representation
Exercise - Construct the ROBDD
Exercise - Construct the ROBDD
Soruce: https://en.wikipedia.org/wiki/Binary_decision_diagram
Further BDD Operations
SAT vs BDDs
- BDDs are good if you want to encode all of the solutions
- SAT is good if you only need one solution (although...)
- Which case do we need for model checking?
Model Checking with SAT
-
Bounded Model Checking
-
K-Induction
-
Craig Interpolants
- Property-Directed Reachability
Proofs over State machines
Proof by Induction
Induction with State Machines
Induction with State Machines
Proofs by k-induction (k=2)
k-Induction on State Machines
With k=3
Model Checking with SAT
-
Bounded Model Checking
-
K-Induction
-
Craig Interpolants
- Property-Directed Reachability
BDDs - Lecture 18
By Stanley Bak
BDDs - Lecture 18
- 38