• Non ci sono risultati.

Reachability Analysis

N/A
N/A
Protected

Academic year: 2021

Condividi "Reachability Analysis"

Copied!
11
0
0

Testo completo

(1)

Symbolic

Reachability Analysis

Gianpiero Cabodi Stefano Quer

Politecnico di Torino Torino, Italy

{gianpiero.cabodi,stefano.quer}@polito.it http://staff.polito.it/{gianpiero.cabodi,stefano.quer}/

Reference

™ Paper

™ Books

C. Meinel, T. Theobald

“Algorithms and Data Structure in VLSI Design”

Springer-Verlag, Berlin, August 1998 ISBN 3-540-64486-5

G. D. Hachtel, F. Somenzi

“Loginc Synthesis and Verification Algorithms”

Kluwer Academic Publishers

Outline

™ Background

‹FSM Model and State Space Graph Representation

‹State Space Visit: DFS and BFS Paradigms

‹Functions and Sets Representation

‹Image Computation Concepts

‹Impact and Reference

™ Transition Relation

™ Image Computation

™ Reachability Analysis

™ Limits

Outline

™ Background

‹FSM Model and State Space Graph Representation

‹State Space Visit: DFS and BFS Paradigms

‹Functions and Sets Representation

‹Image Computation Concepts

‹Impact and Reference

™ Transition Relation

™ Image Computation

™ Reachability Analysis

™ Limits

S

0

S

1

S

2

S

3

S

4

S

6

S

7

S

5

Outline

™ Background

‹FSM Model and State Space Graph Representation

‹State Space Visit: DFS and BFS Paradigms

‹Functions and Sets Representation

‹Image Computation Concepts

‹Impact and Reference

™ Transition Relation

™ Image Computation

™ Reachability Analysis

™ Limits

(2)

S

0

S

1

S

2

S

3

S

4

S

6

S

7

S

5

™ Depth-First Visit

S

0

S

1

S

2

S

3

S

4

S

6

S

7

S

5

™ Depth-First Visit

1

S

0

S

1

S

2

S

3

S

4

S

6

S

7

S

5

™ Depth-First Visit

1

2

S

0

S

1

S

2

S

3

S

4

S

6

S

7

S

5

™ Depth-First Visit

1

2 3

™ Depth-First Visit

INEFFICIENT (it deals one state at a time)

S

0

S

1

S

2

S

3

S

4

S

6

S

7

S

5

1

2 3

S

0

S

1

S

2

S

3

S

4

S

6

S

7

S

5

™ Breadth-First Visit

(3)

S

0

S

1

S

2

S

3

S

4

S

6

S

7

S

5

™ Breadth-First Visit

S

0

S

1

S

2

S

3

S

4

S

6

S

7

S

5

™ Breadth-First Visit

S

0

S

1

S

2

S

3

S

4

S

6

S

7

S

5

™ Breadth-First Visit ™ Breadth-First Visit

EFFICIENT IFF we can deals with multiple states (set of state)

S

0

S

1

S

2

S

3

S

4

S

6

S

7

S

5

S

0

S

1

S

2

S

3

S

4

S

6

S

7

S

5

™ Breadth-First Visit

EFFICIENT IFF we can deals with multiple states (set of state)

S

0

S

1

S

2

S

3

S

4

S

6

S

7

S

5

™ Breadth-First Visit

EFFICIENT IFF we can deals with multiple states (set of state)

(4)

S

0

S

1

S

2

S

3

S

4

S

6

S

7

S

5

™ Breadth-First Visit

EFFICIENT IFF we can deals with multiple states (set of state)

S

0

S

1

S

2

S

3

S

4

S

6

S

7

S

5

™ Breadth-First Visit

EFFICIENT IFF we can deals with multiple states (set of state)

S

0

S

1

S

2

S

3

S

4

S

6

S

7

S

5

R Ri R1 R0

S IMAGE

Outline

™ Background

‹FSM Model and State Space Graph Representation

‹State Space Visit: DFS and BFS Paradigms

‹Functions and Sets Representation

‹Image Computation Concepts

‹Impact and Reference

™ Transition Relation

™ Image Computation

™ Reachability Analysis

™ Limits

Function Representation

™ Idea

A formula can represent a set of states (its models)

™ Example (x ⊕ y) ⊕ z

represents {100,010,110,111}

Set Representation

Characteristic Function

(5)

A 0 / 1

Set Operations

A

B Union

A

B

Intersection

™ 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

Characteristic Function of set A:

χ

A(s) = 1 IFF s A

= 0 IFF s ∉A

Outline

™ Background

‹FSM Model and State Space Graph Representation

‹State Space Visit: DFS and BFS Paradigms

‹Functions and Sets Representation

‹Image Computation Concepts

‹Impact and Reference

™ Transition Relation

™ Image Computation

™ Reachability Analysis

™ Limits

Image and inverse image

B n B m

X f

Y

Img (f, X) = f (X) = { y ∈ B

m

⏐ x ∈ X ∧ y = f (x) }

Image and inverse image

B n B m

f f - 1

X Y

Img (f, X) = f (X) = { y ∈ B

m

⏐ x ∈ X ∧ y = f (x) } PreImg (f, Y) = f

-1

(Y) = { x ∈ B

n

⏐ y ∈ Y ∧ y = f (x) }

FSM Analysis Impact

™ Systems Represented as Finite State Machines

‹Sequential circuits

‹Communication protocols

‹Synchronization programs

™ Analysis Tasks

‹State reachability

‹State machine comparison

‹Temporal logic model checking

™ Traditional 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!

(6)

™ Ranjan & co. IWLS-1995:

‹Clustering and ordering heuristics most widely used

™ Hojati & co. ICCD-1996:

‹Theoretic results

™ Moon & co. DAC-2000 & FMCAD-2000:

‹Transition function VS transition relation

‹Active lifetime – dependence matrix

™ Gupta & co. FMCAD-2000:

‹BDD and SAT for computing images in traversal

™ Meinel & co. FMCAD-2000, ICCD-2001:

‹Using hierarchical information for conjunction scheduling

A Few Related Works Outline

™ Background

‹FSM Model and State Space Graph Representation

‹State Space Visit: DFS and BFS Paradigms

‹Functions and Sets Representation

‹Image Computation Concepts

‹Impact and Reference

™ Transition Relation

™ Image Computation

™ Reachability Analysis

™ Limits

TR (s, x, y) = ∏

i=1n

(y

i

≡ δ

i

(s, x))

The Transition Relation espresses

present-state, primary input ⇒ next state correspondence.

The Transition Relation

Deterministic FSM Symbolic Representation

o1,o2 encoded old state n1, n2 encoded

new state 00

10

01

11 o2

o1

1 n2

0 n1

o2

‹Represent set of transitions as function δ(Old, New)

—Yields 1 if can have transition from state Old to state New

‹Represent as Boolean function

—Over variables encoding states

TR(s,x,y) =

= Π

i=1n

(y

i

≡ δ

i

(s,x))

TR(s,x,y) =

= Π

i=1n

(y

i

≡ δ

i

(s,x))

= [ (y

1

≡ δ

1

(s,x)) · (y

2

≡ δ

2

(s,x)) · … · (y

n

≡ δ

n

(s,x)) ]

(7)

TR(s,x,y) =

= Π

i=1n

(y

i

≡ δ

i

(s,x))

= [ (y

1

≡ δ

1

(s,x)) · (y

2

≡ δ

2

(s,x)) · … · (y

n

≡ δ

n

(s,x)) ]

Outline

™ Background

‹FSM Model and State Space Graph Representation

‹State Space Visit: DFS and BFS Paradigms

‹Functions and Sets Representation

‹Image Computation Concepts

‹Impact and Reference

™ Transition Relation

™ Image Computation

™ Reachability Analysis

™ Limits

Img (TR, From) =

s,x

[TR (s, x, y) ⋅ From(s)]

Image is computed through:

a conjunction-abstraction operation between present state set and transition relation.

Image Computation

Img (TR, From) =

s,x

[TR (s, x, y) ⋅ From(s)]

Image Computation

From(s)

Img (TR, From) =

s,x

[TR (s, x, y) ⋅ From(s)]

Image Computation

TR (s, x, y) From(s)

Img (TR, From) =

s,x

[TR (s, x, y) ⋅ From(s)]

Image Computation

TR (s, x, y) ⋅ From(s)

TR (s, x, y)

From(s)

(8)

Img (TR, From) =

s,x

[TR (s, x, y) ⋅ From(s)]

Image Computation

∃s,x [TR (s, x, y) ⋅ From(s)]

TR (s, x, y) From(s)

Img (TR, From) =

s,x

[TR (s, x, y) ⋅ From(s)]

Image Computation

Img (TR, From)

TR (s, x, y) From(s)

To (y) = Img (TR, From) =

s,x

[TR (s, x, y) ⋅ From(s)]

Image Computation

To (y)

TR (s, x, y) From(s)

To (y) =

= ∃

sx

[ TR (s,x,y) · From (s) ]

R Ri R1 R0

S IMAGE

To (y) =

= ∃

sx

[ TR (s,x,y) · From (s) ]

=

sx

[ (y

1

≡ δ

1

) · (y

2

≡ δ

2

) · … · (y

n

≡ δ

n

) · From (s) ]

RiR R1 R0

S IMAGE

To (y) =

= ∃

sx

[ TR (s,x,y) · From (s) ]

=

sx

[ (y

1

≡ δ

1

) · (y

2

≡ δ

2

) · … · (y

n

≡ δ

n

) · From (s) ]

RiR R1 R0

S IMAGE

(9)

To (y) =

= ∃

sx

[ TR (s,x,y) · From (s) ]

=

sx

[ (y

1

≡ δ

1

) · (y

2

≡ δ

2

) · … · (y

n

≡ δ

n

) · From (s) ]

R Ri R1 R0

S IMAGE

!

Image and Pre-Image of States:

An Example

Image of a set of states From(s)

Example:

0 2

1 3

4

From(s)

Img(TR,From(s))

From (s) =

(s ≡ 0) ∨ (s ≡ 1) {0,1}

TR (s, y) =

(s ≡ 0) ∧ (y ≡ 2) ∨ {(0,2), (s ≡ 0) ∧ (y ≡ 3) ∨ (0,3), (s ≡ 1) ∧ (y ≡ 3) ∨ (1,3), (s ≡ 2) ∧ (y ≡ 4) (2,4)}

TR (s, y) ∧ From (s) =

(s ≡ 0) ∧ (y ≡ 2) ∨ {(0,2), (s ≡ 0) ∧ (y ≡ 3) ∨ (0,3), (s ≡ 1) ∧ (y ≡ 3) (1,3)}

To (y) = ∃s (TR ∧ From) =

(y ≡ 2) ∨ (y ≡ 3) {(2,3)}

Outline

™ Background

‹FSM Model and State Space Graph Representation

‹State Space Visit: DFS and BFS Paradigms

‹Functions and Sets Representation

‹Image Computation Concepts

‹Impact and Reference

™ Transition Relation

™ Image Computation

™ Reachability Analysis

™ Limits

Representations

™ Explicit reachability analysis

‹Represent states explicitly (e.g. as bit string) => limited capacity

‹Use hashtable to find quickly whether state was reached before

‹Image operation: simple simulation

‹Preimage operation: SAT run

™ Symbolic reachability analysis

‹Represent states and transition relation symbolically

—E.g. BDDs, circuits, DNF, etc.

‹Use BDD operations to perform image and preimage operation (simple AND or AND_EXIST)

‹Lots of heuristic improvements to keep BDD size under control

™ Forward Traversal

‹Start from initial state(s)

‹Traverse forward to check whether “bad”

‹State(s) is reachable

™ Backward Traversal

‹Start from bad state(s)

‹Traverse backward to check whether intial

‹State(s) can reach them

™ Combines Forward/Backward traversal

‹compute over-approximation of reachable

‹states by forward traversal

‹for all bad states in over-approximation, start backward traversal to see whether intial state can reach them

State Traversal Techniques

S

0

S

1

S

2

S

3

S

4

S

6

S

7

S

5

Img 1 Img 2 Img 3

0

3 2

1

Forward Reachability Analysis (Forward Traversal)

Sequence of image computations … till fixed point …

(10)

FwdTraversal (TR, S0

)

Reached = From = New = S

0

(s) while ( New ≠ φ )

To = Img (TR, From) To |

yÆs

New = To ∧ ¬Reached Reached = Reached ∨ New From = Best_BDD (New, Reached) return (Reached (s))

‹Determine set of all reachable states of circuit

‹Key step in model checking

—Many (but not all) properties can be checked by some form of reachability computation

Loop Control

Image Compu-

tation

Set

Union ReachedStates

=

Initial State

Circuit Behavior

0 1

3 2

4

5 6

Iteration: 1 2 3

From: {0} {1,2} {1,2,3}

To: {1,2} {1,2,3} {0,1,2,3}

Reached: {0} {0,1,2} {0,1,2,3}

™ Example

Backward State Traversal

BwdTraversal (TR, S0

)

Reached = From = New = S

0

(s) while ( New ≠ φ )

To = PreImg (TR, From) To |

yÆs

New = To ∧ ¬Reached Reached = Reached ∨ New From = Best_BDD (New, Reached) return (Reached (s))

Iteration: 1 2 3

From (current): {6} {4} {4,5}

To (previous): {4} {4,5} {4,5,6}

Reached: {6} {4,6} {4,5,6}

0 1

3 2

4

5 6

™ Example

Forward Traversal R

0

= Initial State Set R

i+1

= R

i

+ Img (TR, R

i

)

Backward Traversal R

0

= Initial State Set R

i+1

= R

i

+ PreImg (TR, R

i

)

To summarise

(11)

Outline

™ Background

‹FSM Model and State Space Graph Representation

‹State Space Visit: DFS and BFS Paradigms

‹Functions and Sets Representation

‹Image Computation Concepts

‹Impact and Reference

™ Transition Relation

™ Image Computation

™ Reachability Analysis

™ Limits

|BDD|

Image steps Traversal steps Maximum Size at

intermediate steps [Ravi & Somenzi, ICCAD’95]

|BDD|

Image steps Traversal steps Maximum Size at

intermediate steps [Ravi & Somenzi, ICCAD’95]

Image steps

|BDD|Partitioned Image

Traversal steps

|BDD| Partitioned/Interleaved Traversal

Riferimenti

Documenti correlati

anticancer activity of the identified peptides while the AVPpred ( https ://crdd.osdd.net/serve rs/avppr ed ) server was used to predict the antiviral activity of the

Materials and Methods: Three fully coated, tooth-colored NiTi wires (BioCosmetic, Titanol Cosmetic, EverWhite), two ion-implanted wires (TMA Purple, Sentalloy High Aesthetic),

This changes the starting values for the process simulator, and sets the split factor used, changing the final results. • Improve the

So a theory of service systems should explain what service systems are and aren’t, how they arise and evolve, the relation between internal and external service systems, and the role

Extending the procedure to return winning strategies for both players on their respective winning regions only comprises fixing an arbitrary strategy for player odd in the trivial

Planning is critical to the development of an effective health commu- nication project. A carefully devised plan will enable the project to produce meaningful results. Taking the

The analysis has been conducted through all the fraud cases (and the matched not-tort cases) mentioned by WebBRD. It has been developed through different phases:

The recycled concrete was made with natural and coarse recycled aggregates and produced by crushed concrete with five concrete mixes (with up to 100% the