tree regular model checking

27
Tree Regular Model Tree Regular Model Checking Checking P. Abdulla, B. Jonsson, P. P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Mahata and J. d’Orso Uppsala University Uppsala University

Upload: natalie-mcmillan

Post on 05-Jan-2016

20 views

Category:

Documents


0 download

DESCRIPTION

Tree Regular Model Checking. P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso. Uppsala University. Presentation Overview. Aim Regular model checking Trees, tree relations Transitive closures Results, conclusions. Aim. A uniform analysis framework for systems :. With counters - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Tree Regular Model Checking

Tree Regular Model Tree Regular Model CheckingChecking

Tree Regular Model Tree Regular Model CheckingChecking

P. Abdulla, B. Jonsson, P. Mahata P. Abdulla, B. Jonsson, P. Mahata and J. d’Orsoand J. d’Orso

Uppsala UniversityUppsala University

Page 2: Tree Regular Model Checking

Presentation Overview

• Aim

• Regular model checking

• Trees, tree relations

• Transitive closures

• Results, conclusions

Page 3: Tree Regular Model Checking

Aim

• With counters

• With stacks

• With channels

• parameterized

A uniform analysis framework for systems :

These systems can be characterized by finite-stateautomata.

Page 4: Tree Regular Model Checking

Regular model checking

Most important operation: computing transitiveclosures.

Why ? Because it allows many analysis:• Reachability• safety properties• fairness properties

Page 5: Tree Regular Model Checking

Example

A simple token passing protocol:

Page 6: Tree Regular Model Checking

Example

A simple token passing protocol:

Page 7: Tree Regular Model Checking

Example

A simple token passing protocol:

Page 8: Tree Regular Model Checking

Example

A simple token passing protocol:

Page 9: Tree Regular Model Checking

Our Contribution

Regular Model Checking is nice, but…

… it’s only valid for linear or circular topologies !

Idea: extend to trees instead !

Page 10: Tree Regular Model Checking

Trees

0 1

00 01 10

010

a

bc

d

a

b

d

node

label

this node is called “root”

Page 11: Tree Regular Model Checking

Tree Automata

0 1

or

and

and

or

or

and

q1 q2

state

input symbol

Page 12: Tree Regular Model Checking

Tree Automata

Input:

and

or

101

Run:

Page 13: Tree Regular Model Checking

Tree Automata

Input:

and

or

101

Run:

q1

Transition: 0 q1

Page 14: Tree Regular Model Checking

Tree Automata

Input:

and

or

101

Run:

q1q2 q2

Transition: 1 q2

Page 15: Tree Regular Model Checking

Tree Automata

Input:

and

or

101

Run:

q1

q2

q2 q2

Transition: or q2q2

q1

Page 16: Tree Regular Model Checking

Tree Automata

Input:

and

or

101

Run:

q1

q2

q2

q2 q2

Transition: and q2q2

q2

Page 17: Tree Regular Model Checking

Tree Automata

Input:

and

or

101

Run:

q1

q2

q2

q2 q2

Accept ! q2

Page 18: Tree Regular Model Checking

Tree Relations

a

b c

d

e f

Page 19: Tree Regular Model Checking

Tree Relations

We represent a pair of “similar” trees by a tree onan alphabet with pairs:

a

b c

d

e f

(a,d)

(b,e) (c,f)

Page 20: Tree Regular Model Checking

History Automata

x

T x

input

Page 21: Tree Regular Model Checking

History Automata

x

T x

T

x x

input intermediate

Page 22: Tree Regular Model Checking

History Automata

x

T x

x

x T

T

x x

input outputintermediate

Page 23: Tree Regular Model Checking

History Automata

In (word) regular model checking, concept of columns

Transpose this to trees: represent a sequence of runs into single run.

x

T x

q1

q2 q3

x

x T

q4

q5 q6

T

x x

input outputintermediate

run 1 run 2

Page 24: Tree Regular Model Checking

History Automata

In (word) regular model checking, concept of columns

Transpose this to trees: represent a sequence of runs into single run.

x

T x

x

x T

input output

run 1+2

q1.q4

q2.q5 q3.q6

Page 25: Tree Regular Model Checking

Symbolic Automata

Property of H.A.’s: accept the transitive closure.

Problem: infinite size !

Approach: apply standard subset construction (determinization)

Supporting data structure for sets: regular expressions.

Page 26: Tree Regular Model Checking

Results

We have run a prototype tool on several examples:

• Token-passing protocol (1&2 ways)

• “percolate” protocol (compute disjunctions)

• Tree arbiter (mutual exclusion)

Paper accepted at CAV’02.

Page 27: Tree Regular Model Checking

Future work

• Change underlying automata representation (matrices instead of BDDs)

• Expand to new types of systems (e.g. pushdown systems)

• Create a graphical interface