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