Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken...

37
Binary Decision Diagrams Binary Decision Diagrams and and Symbolic Model Checking Symbolic Model Checking http://www.cs.cmu.edu/~bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U Texas
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    223
  • download

    4

Transcript of Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken...

Page 1: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

Binary Decision DiagramsBinary Decision Diagramsandand

Symbolic Model CheckingSymbolic Model Checking

Binary Decision DiagramsBinary Decision Diagramsandand

Symbolic Model CheckingSymbolic Model Checking

http://www.cs.cmu.edu/~bryant

Randy Bryant CMUEd Clarke CMUKen McMillan CadenceAllen Emerson U Texas

Page 2: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 2 –

Binary Decision DiagramsBinary Decision Diagrams

Restricted Form of Branching ProgramRestricted Form of Branching Program Graph representation of Boolean function Canonical form Simple algorithms to construct & manipulate

Application NicheApplication Niche Problems expressed as Quantified Boolean Formulas A lot of interesting problems are in PSPACE

Symbolic Model CheckingSymbolic Model Checking Prove properties about large-scale, finite-state system Successfully used to verify hardware systems

Page 3: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 3 –

Boolean Function as LanguageBoolean Function as Language

Truth Table Language

View n-variable Boolean function as language {0,1}n

Reduced DFA is canonical representation

00001111

00110011

01010101

00010101

x1 x2 x3 f

DFA

{ 011,101,111 }

0 1

10,1

1

Page 4: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 4 –

From DFA to OBDDFrom DFA to OBDD

Canonical representation of Boolean functionCanonical representation of Boolean function Two functions equivalent if and only if graphs isomorphic Desirable property: simplest form is canonical.

0 1

10,1

1

x1

x2 x2

x3

1

x1

x2

x3

1

x1

x2

x3

10

Page 5: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 5 –

Representing Circuit FunctionsRepresenting Circuit Functions

b3 b3

a3

Cout

b3

b2 b2

a2

b2 b2

a2

b3

a3

S3

b2

b1 b1

a1

b1 b1

a1

b2

a2

S2

b1

a0 a0

b1

a1

S1

b0

10

b0

a0

S0

FunctionsFunctions All outputs of 4-bit adder Functions of data inputs

A

B

Cout

SADD

Shared RepresentationShared Representation Graph with multiple roots 31 nodes for 4-bit adder 571 nodes for 64-bit adder Linear growth

Page 6: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 6 –

Effect of Variable OrderingEffect of Variable Ordering

Good Ordering Bad Ordering

Linear Growth

0

b3

a3

b2

a2

1

b1

a1

Exponential Growth

a3 a3

a2

b1 b1

a3

b2

b1

0

b3

b2

1

b1

a3

a2

a1

)()()( 332211 bababa

Page 7: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 7 –

Sample Function ClassesSample Function Classes

Function Class Best Worst Ordering Sensitivity

ALU (Add/Sub) linear exponential High

Symmetric linear quadratic None

Multiplication exponential exponential Low

General ExperienceGeneral Experience Many tasks have reasonable OBDD representations Algorithms remain practical for up to 500,000 node OBDDs Heuristic ordering methods generally satisfactory

Page 8: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 8 –

Symbolic Manipulation with OBDDsSymbolic Manipulation with OBDDs

StrategyStrategy Represent data as set of OBDDs

Identical variable orderings

Express solution method as sequence of symbolic operations

Sequence of constructor & query operationsSimilar style to on-line algorithm

Implement each operation by OBDD manipulationDo all the work in the constructor operations

Key Algorithmic PropertiesKey Algorithmic Properties Arguments are OBDDs with identical variable orderings Result is OBDD with same ordering Each step polynomial complexity

Page 9: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 9 –

Arguments Arguments II, , TT, , EE Functions over variables X Represented as OBDDs

ResultResult OBDD representing

composite function (I T) (I E)

MUX1

0

I T, E 

X

I  

If-Then-Else OperationIf-Then-Else Operation

ConceptConcept Basic technique for building OBDD from logic network or

formula.

Page 10: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 10 –

0 1

d

c

a

B3 B4

B2

B5

B1

Argument I

1

Argument T Argument E

A4,B3 A5,B4

A3,B2

A6,B2

A2,B2

A3,B4A5,B2

A6,B5

A1,B1

Recursive Calls

b

0

d

1

c

a

A4 A5

A3

A2

A6

A1

If-Then-Else Execution ExampleIf-Then-Else Execution Example

OptimizationsOptimizations Dynamic programming Early termination rules

Page 11: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 11 –

0 1

d

c

b

11

c

a

A4,B3 A5,B4

A3,B2

A6,B2

A2,B2

A3,B4A5,B2

A6,B5

A1,B1

Recursive Calls Without Reduction With Reduction

C2

C4

C5

C3

C6

C1 0

d

c

b

1

a

If-Then-Else Result GenerationIf-Then-Else Result Generation

Recursive calling structure implicitly defines unreduced BDD Apply reduction rules bottom-up as return from recursive calls

Page 12: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 12 –

Restriction OperationRestriction Operation

ConceptConcept Effect of setting function argument xi to constant k (0 or 1).

Also called Cofactor operation (UCB)

k F xi –1

xi +1

xn 

x1

F [xi =k]

Fx equivalent to F [x = 1]

Fx equivalent to F [x = 0]

Page 13: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 13 –

Argument F

Restriction Execution ExampleRestriction Execution Example

0

a

b

c

d

1 0

a

c

d

1

Restriction F[b=1]

0

c

d

1

Reduced Result

Page 14: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 14 –

And(F, G)

XF 

G MUX1

0

F G, 0 

X

F  

G

0

XF 

G MUX1

0

F 1, G 

X

G

1

Or(F, G)

If-Then-Else(F, G, 0)

If-Then-Else(F, 1, G)

Derived Algebraic OperationsDerived Algebraic Operations Other operations can be expressed in terms of If-Then-Else

Page 15: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 15 –

Generating OBDD from NetworkGenerating OBDD from Network

Network Evaluation

Task: Represent output functions of gate network as OBDDs.

A

B

C

T1

T2

Out

Resulting Graphs

A B CT1 T2

Out

0 1

a

0 1

c

0 1

b

0 1

b

a

0 1

c

b

c

b

0 1

b

a

A A new_var ("a");new_var ("a");BB new_var ("b");new_var ("b");C C new_var ("c");new_var ("c");T1 T1 And (A, 0, B);And (A, 0, B);T2 T2 And (B, C); And (B, C);OutOut Or (T1, T2);Or (T1, T2);

Page 16: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 16 –

G  F xi –1

xi +1

xn 

x1

x1

xn 

F [xi =G]

x1

xn xi –1

xi +1

xn 

x1

xi –1

xi +1

xn 

x1

1 F 

0 F 

MUX1

0

Functional CompositionFunctional Composition

Create new function by composing functions F  and G. Useful for composing hierarchical modules.

Page 17: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 17 –

xi –1

xi +1

xn 

x1

F  xi F 

1 F 

0 F 

xi –1

xi +1

xn 

x1

xi –1

xi +1

xn 

x1

Variable QuantificationVariable Quantification

Eliminate dependency on some argument through quantification

Combine with AND for universal quantification.

Page 18: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 18 –

Finite State System AnalysisFinite State System Analysis

Systems Represented as Finite State MachinesSystems Represented as Finite State Machines Sequential circuits Communication protocols Synchronization programs

Analysis TasksAnalysis Tasks State reachability State machine comparison Temporal logic model checking

Traditional Methods Impractical for Large MachinesTraditional Methods Impractical for Large Machines Polynomial in number of states Number of states exponential in number of state variables. Example: single 32-bit register has 4,294,967,296 states!

Page 19: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 19 –

Temporal Logic Model CheckingTemporal Logic Model Checking

Verify Reactive SystemsVerify Reactive Systems Construct state machine representation of reactive system

Nondeterminism expresses range of possible behaviors “Product” of component state machines

Express desired behavior as formula in temporal logic Determine whether or not property holds

Traffic LightController

Design

Traffic LightController

Design

“It is never possible to have a green light for both N-S and E-W.”

ModelChecker

True

False+ Counterexample

Page 20: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 20 –

A0 /1

Set Operations

A

B

UnionA

B

Intersection

Characteristic FunctionsCharacteristic Functions

ConceptConcept A {0,1}n

Set of bit vectors of length n

Represent set A as Boolean function A of n variables

X A if and only if A(X ) = 1

Page 21: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 21 –

Nondeterministic FSM Symbolic Representation

o1,o2 encodedold state

n1, n2 encodednew state

00

10

01

11 o2

o1

1

n2

0

n1

o2

Symbolic FSM RepresentationSymbolic FSM Representation

Represent set of transitions as function (Old, New)Yields 1 if can have transition from state Old to state New

Represent as Boolean functionOver variables encoding states

Page 22: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 22 –

Reachability AnalysisReachability Analysis

Rstate 0/1old state

new state0/1

TaskTask Compute set of states reachable from initial state Q0

Represent as Boolean function R(S) Never enumerate states explicitly

Given Compute

InitialR0

=

Q0

Page 23: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 23 –

R0

00

Breadth-First Reachability AnalysisBreadth-First Reachability Analysis

Ri – set of states that can be reached in i transitions

Reach fixed point when Rn = Rn+1

Guaranteed since finite state

00

10

01

11

R1R0

00 01

R2R1R0

00 01 10

R3R2R1R0

00 01 10

Page 24: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 24 –

Iterative ComputationIterative Computation

Ri +1 – set of states that can be reached i +1 transitionsEither in Ri

or single transition away from some element of Ri

Ri

Ri

Ri +1

old

new

Page 25: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 25 –

Symbolic FSM Analysis ExampleSymbolic FSM Analysis Example K. McMillan, E. Clarke (CMU) J. Schwalbe (Encore Computer)

Encore Gigamax Cache SystemEncore Gigamax Cache System Distributed memory multiprocessor Cache system to improve access time Complex hardware and synchronization protocol.

VerificationVerification Create “simplified” finite state model of system (109 states!) Verify properties about set of reachable states

Bug DetectedBug Detected Sequence of 13 bus events leading to deadlock With random simulations, would require 2 years to generate

failing case. In real system, would yield MTBF < 1 day.

Page 26: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 26 –

System Modeling ExampleSystem Modeling Example

Gigamax Memory System

Simplifying Simplifying AbstractionsAbstractions Single word cache Single bit/word Abstract other

clusters Imprecise timing

Interface

Cluster #2Abstraction

Cluster #3Abstraction

Interface

Mem.Cache

Control.Cache

Control.

Global Bus

Cluster #1 Bus

Proc. Proc.

Arbitrary reads & writes

Page 27: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 27 –

Commercial Applications of Symbolic Model CheckingCommercial Applications of Symbolic Model CheckingSeveral Commercial ToolsSeveral Commercial Tools

Difficult training and customer support

Most Large Companies Have In-House VersionsMost Large Companies Have In-House Versions IBM, Lucent, Intel, Motorola, SGI, Fujitsu, Siemens, … Many based on McMillan’s SMV program

Requires SophisticationRequires Sophistication Beyond that of mainstream designers

Page 28: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 28 –

Application ChallengeApplication Challenge

Cannot Apply Directly to Full Scale DesignCannot Apply Directly to Full Scale Design Verify smaller subsystems Verify abstracted versions of full system

Must understand system & tool to do effectively

SystemSize

Degree of Concurrency

ChallengingSystems to Design

Model checkingCapacity

Page 29: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 29 –

Real World IssuesReal World Issues

Still Too VolatileStill Too Volatile Fail by running out of space Useless once exceed physical memory capacity

Ongoing Research to Improve Memory PerformanceOngoing Research to Improve Memory Performance Dynamic variable ordering Exploiting modularity of system model

Partitioned transition relations

Exploiting parallelismMap onto multiple machinesDifficult program for parallel computation

» Dynamic, irregular data structures

Page 30: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 30 –

Dynamic Variable ReorderingDynamic Variable Reordering

Richard Rudell, Synopsys

Periodically Attempt to Improve Ordering for All BDDsPeriodically Attempt to Improve Ordering for All BDDs Part of garbage collection Move each variable through ordering to find its best location

Has Proved Very SuccessfulHas Proved Very Successful Time consuming but effective Especially for sequential circuit analysis

Page 31: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 31 –

a3

b2 b2

a3

a2

a3

b1

b2

0

b3

b1

1

b2

a3

a2

a1

a3

b2

b3

b2

a3

a2

a3

b2

0

b1

b3

1

b2

a3

a2

a1

a2

a3

b1

b2

0

b3

b2

a3

1

b1

a2

a1

a3

b2

0

b3

b2

a3

a2

1

b1

a1

a3 a3

a2

b1 b1

a3

b2

b1

0

b3

b2

1

b1

a3

a2

a1

• • •a3

b2

0

b3

b2

a3

a2

1

a1

b1

BestChoices

Dynamic Reordering By SiftingDynamic Reordering By Sifting

Choose candidate variable Try all positions in variable ordering

Repeatedly swap with adjacent variable

Move to best position found

Page 32: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 32 –

b1 b1

b2b2 b2b2

e f g h

i jb1 b1

b2

b1

b2

b1

e f

g h i j

Swapping Adjacent VariablesSwapping Adjacent Variables

Localized EffectLocalized Effect Add / delete / alter only nodes labeled by swapping variables Do not change any incoming pointers

Page 33: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 33 –

Tuning of BDD PackagesTuning of BDD Packages

Cooperative EffortCooperative Effort Bwolen Yang, in cooperation with researchers from

Colorado, Synopsys, CMU, and T.U. Eindhoven Measure & improve performance of BDDs for symbolic

model checking

MethodologyMethodology Generated set of benchmark traces Run 6 different packages on same machine Compare results and share findings

Cooperative competition

Page 34: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 34 –

Effect of OptimizationsEffect of Optimizations

Compare pre- vs. post-optimized results for 96 runsCompare pre- vs. post-optimized results for 96 runs 6 different BDD packages 16 benchmark traces each Limit each run to maximum of 8 CPU hours and 900 MB Measure speedup = Told / Tnew or:

New: Failed before but now succeedsFail: Fail both timesBad: Succeeded before, but now fails

Page 35: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 35 –

Optimization Results SummaryOptimization Results Summary

Cumulative Speedup Histogram

22

33

61

75 76 76

13

61

6

0

10

20

30

40

50

60

70

80

>1

00

>5

>1

>0

speedups

# of

cas

es

>1

0

>2

>0

.95

ne

w

ba

d

faile

d

Page 36: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 36 –

What’s Good about OBDDsWhat’s Good about OBDDs

Powerful OperationsPowerful Operations Creating, manipulating, testing Each step polynomial complexity

Graceful degradation

Generally Stay Small EnoughGenerally Stay Small Enough Especially for digital circuit applications Given good choice of variable ordering

Weak CompetitionWeak Competition No other method comes close in overall strength Especially with quantification operations

Page 37: Binary Decision Diagrams and Symbolic Model Checking bryant Randy Bryant CMU Ed Clarke CMU Ken McMillan Cadence Allen Emerson U.

– 37 –

Thoughts on Algorithms ResearchThoughts on Algorithms Research

Need to be Willing to Attack Intractable ProblemsNeed to be Willing to Attack Intractable Problems Many real-world problems NP-hard No approximations for verification

Who Works on These?Who Works on These? Mostly people in application domain

Most work on BDDs in computer-aided design conferences

Not by people with greatest talent in algorithmsNo papers in STOC/FOCS/SODAProbably many ways they could improve things

Fundamental dilemmaCan only make weak formal statements about efficiencyUtility demonstrated empirically