Title: Tree Regular Model Checking
1Tree Regular Model Checking
- P. Abdulla, B. Jonsson, P. Mahata and J. dOrso
Uppsala University
2Presentation Overview
- Aim
- Regular model checking
- Trees, tree relations
- Transitive closures
- Results, conclusions
3Aim
A uniform analysis framework for systems
- With counters
- With stacks
- With channels
- parameterized
These systems can be characterized by
finite-state automata.
4Regular model checking
Most important operation computing
transitive closures.
- Why ? Because it allows many analysis
- Reachability
- safety properties
- fairness properties
5Example
A simple token passing protocol
6Example
A simple token passing protocol
7Example
A simple token passing protocol
8Example
A simple token passing protocol
9Our Contribution
Regular Model Checking is nice, but
its only valid for linear or circular
topologies !
Idea extend to trees instead !
10Trees
e
this node is called root
a
0
1
a
b
01
00
10
c
label
b
d
010
node
d
11Tree Automata
input symbol
q1
q2
state
12Tree Automata
Run
Input
13Tree Automata
Run
Input
q1
q1
Transition
0
14Tree Automata
Run
Input
q1
q2
q2
q2
Transition
1
15Tree Automata
Run
Input
q2
q1
q2
q2
q1
q2
Transition
or
q2
16Tree Automata
Run
Input
q2
q2
q1
q2
q2
q2
q2
Transition
and
q2
17Tree Automata
Run
Input
q2
q2
q1
q2
q2
q2
Accept !
18Tree Relations
d
e
f
19Tree Relations
We represent a pair of similar trees by a tree
on an alphabet with pairs
d
(a,d)
e
f
(b,e)
(c,f)
20History Automata
input
x
T
x
21History Automata
input
intermediate
x
T
T
x
x
x
22History Automata
input
output
intermediate
x
x
T
T
x
x
T
x
x
23History Automata
In (word) regular model checking, concept of
columns
Transpose this to trees represent a sequence of
runs into single run.
input
output
intermediate
x
q1
x
q4
T
T
x
q2
q3
x
T
q5
q6
x
x
run 1
run 2
24History Automata
In (word) regular model checking, concept of
columns
Transpose this to trees represent a sequence of
runs into single run.
input
output
x
x
T
x
x
T
run 12
25Symbolic 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.
26Results
We have run a prototype tool on several examples
- Token-passing protocol (12 ways)
- percolate protocol (compute disjunctions)
- Tree arbiter (mutual exclusion)
Paper accepted at CAV02.
27Future work
- Change underlying automata representation
(matrices instead of BDDs) - Expand to new types of systems (e.g. pushdown
systems) - Create a graphical interface