1 / 27

Tree Regular Model Checking

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

Download Presentation

Tree Regular Model Checking

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Presentation Overview • Aim • Regular model checking • Trees, tree relations • Transitive closures • Results, conclusions

  3. Aim A uniform analysis framework for systems : • With counters • With stacks • With channels • parameterized These systems can be characterized by finite-state automata.

  4. Regular model checking Most important operation: computing transitive closures. • Why ? Because it allows many analysis: • Reachability • safety properties • fairness properties

  5. Example A simple token passing protocol:

  6. Example A simple token passing protocol:

  7. Example A simple token passing protocol:

  8. Example A simple token passing protocol:

  9. Our Contribution Regular Model Checking is nice, but… … it’s only valid for linear or circular topologies ! Idea: extend to trees instead !

  10. Trees e this node is called “root” a 0 1 a b 01 00 10 c label b d 010 node d

  11. 0 1 or and and or or and Tree Automata input symbol q1 q2 state

  12. and or 1 0 1 Tree Automata Run: Input:

  13. and or 1 0 1 Tree Automata Run: Input: q1 q1 Transition: 0

  14. and or 1 0 1 Tree Automata Run: Input: q2 q1 q2 q2 Transition: 1

  15. and or 1 0 1 Tree Automata Run: Input: q2 q2 q1 q2 q1 q2 Transition: or q2

  16. and or 1 0 1 Tree Automata Run: Input: q2 q2 q2 q1 q2 q2 q2 Transition: and q2

  17. and or 1 0 1 Tree Automata Run: Input: q2 q2 q2 q1 q2 q2 Accept !

  18. a b c Tree Relations d e f

  19. a b c Tree 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)

  20. History Automata input x T x

  21. History Automata input intermediate x T T x x x

  22. History Automata input output intermediate x T x T x x x x T

  23. History 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 T q4 x T x q2 q3 x x q5 q6 x T run 1 run 2

  24. q1.q4 q2.q5 q3.q6 History 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 1+2

  25. 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.

  26. 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.

  27. Future work • Change underlying automata representation (matrices instead of BDDs) • Expand to new types of systems (e.g. pushdown systems) • Create a graphical interface

More Related