Tree Regular Model Checking P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.
-
Upload
rylee-wimsett -
Category
Documents
-
view
219 -
download
3
Transcript of Tree Regular Model Checking P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.
![Page 1: Tree Regular Model Checking P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/1.jpg)
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 P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/2.jpg)
Presentation Overview
• Aim
• Regular model checking
• Trees, tree relations
• Transitive closures
• Results, conclusions
![Page 3: Tree Regular Model Checking P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/3.jpg)
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 P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/4.jpg)
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 P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/5.jpg)
Example
A simple token passing protocol:
![Page 6: Tree Regular Model Checking P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/6.jpg)
Example
A simple token passing protocol:
![Page 7: Tree Regular Model Checking P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/7.jpg)
Example
A simple token passing protocol:
![Page 8: Tree Regular Model Checking P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/8.jpg)
Example
A simple token passing protocol:
![Page 9: Tree Regular Model Checking P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/9.jpg)
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 P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/10.jpg)
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 P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/11.jpg)
Tree Automata
0 1
or
and
and
or
or
and
q1 q2
state
input symbol
![Page 12: Tree Regular Model Checking P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/12.jpg)
Tree Automata
Input:
and
or
101
Run:
![Page 13: Tree Regular Model Checking P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/13.jpg)
Tree Automata
Input:
and
or
101
Run:
q1
Transition: 0 q1
![Page 14: Tree Regular Model Checking P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/14.jpg)
Tree Automata
Input:
and
or
101
Run:
q1q2 q2
Transition: 1 q2
![Page 15: Tree Regular Model Checking P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/15.jpg)
Tree Automata
Input:
and
or
101
Run:
q1
q2
q2 q2
Transition: or q2q2
q1
![Page 16: Tree Regular Model Checking P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/16.jpg)
Tree Automata
Input:
and
or
101
Run:
q1
q2
q2
q2 q2
Transition: and q2q2
q2
![Page 17: Tree Regular Model Checking P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/17.jpg)
Tree Automata
Input:
and
or
101
Run:
q1
q2
q2
q2 q2
Accept ! q2
![Page 18: Tree Regular Model Checking P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/18.jpg)
Tree Relations
a
b c
d
e f
![Page 19: Tree Regular Model Checking P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/19.jpg)
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 P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/20.jpg)
History Automata
x
T x
input
![Page 21: Tree Regular Model Checking P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/21.jpg)
History Automata
x
T x
T
x x
input intermediate
![Page 22: Tree Regular Model Checking P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/22.jpg)
History Automata
x
T x
x
x T
T
x x
input outputintermediate
![Page 23: Tree Regular Model Checking P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/23.jpg)
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 P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/24.jpg)
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 P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/25.jpg)
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 P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/26.jpg)
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 P. Abdulla, B. Jonsson, P. Mahata and J. d’Orso Uppsala University.](https://reader030.fdocuments.net/reader030/viewer/2022032516/56649c755503460f94929599/html5/thumbnails/27.jpg)
Future work
• Change underlying automata representation (matrices instead of BDDs)
• Expand to new types of systems (e.g. pushdown systems)
• Create a graphical interface