tree regular model checking
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 PresentationTRANSCRIPT
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
Presentation Overview
• Aim
• Regular model checking
• Trees, tree relations
• Transitive closures
• Results, conclusions
Aim
• With counters
• With stacks
• With channels
• parameterized
A uniform analysis framework for systems :
These systems can be characterized by finite-stateautomata.
Regular model checking
Most important operation: computing transitiveclosures.
Why ? Because it allows many analysis:• Reachability• safety properties• fairness properties
Example
A simple token passing protocol:
Example
A simple token passing protocol:
Example
A simple token passing protocol:
Example
A simple token passing protocol:
Our Contribution
Regular Model Checking is nice, but…
… it’s only valid for linear or circular topologies !
Idea: extend to trees instead !
Trees
0 1
00 01 10
010
a
bc
d
a
b
d
node
label
this node is called “root”
Tree Automata
0 1
or
and
and
or
or
and
q1 q2
state
input symbol
Tree Automata
Input:
and
or
101
Run:
Tree Automata
Input:
and
or
101
Run:
q1
Transition: 0 q1
Tree Automata
Input:
and
or
101
Run:
q1q2 q2
Transition: 1 q2
Tree Automata
Input:
and
or
101
Run:
q1
q2
q2 q2
Transition: or q2q2
q1
Tree Automata
Input:
and
or
101
Run:
q1
q2
q2
q2 q2
Transition: and q2q2
q2
Tree Automata
Input:
and
or
101
Run:
q1
q2
q2
q2 q2
Accept ! q2
Tree Relations
a
b c
d
e f
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)
History Automata
x
T x
input
History Automata
x
T x
T
x x
input intermediate
History Automata
x
T x
x
x T
T
x x
input outputintermediate
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
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
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.
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.
Future work
• Change underlying automata representation (matrices instead of BDDs)
• Expand to new types of systems (e.g. pushdown systems)
• Create a graphical interface