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

Slides:



Advertisements
Similar presentations
CSC 361NFA vs. DFA1. CSC 361NFA vs. DFA2 NFAs vs. DFAs NFAs can be constructed from DFAs using transitions: Called NFA- Suppose M 1 accepts L 1, M 2 accepts.
Advertisements

Lecture 6 Nondeterministic Finite Automata (NFA)
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
An Introduction to the Model Verifier verds Wenhui Zhang September 15 th, 2010.
Pushdown Automata Chapter 12. Recognizing Context-Free Languages We need a device similar to an FSM except that it needs more power. The insight: Precisely.
From Monotonic Transition Systems to Monotonic Games Parosh Aziz Abdulla Uppsala University.
Pushdown Systems Koushik Sen EECS, UC Berkeley Slide Source: Sanjit A. Seshia.
Theory Of Automata By Dr. MM Alam
Regular Model Checking Parosh Aziz Abdulla Uppsala University Cooperation with B. Jonsson, M. Nilsson, J. d’Orso.
Verification of Parameterized Timed Systems Parosh Aziz Abdulla Uppsala University Johann Deneux Pritha Mahata Aletta Nylen.
CFG => PDA Sipser 2 (pages ).
1 Introduction to Computability Theory Lecture7: PushDown Automata (Part 1) Prof. Amos Israeli.
Introduction to Computability Theory
CFG => PDA Sipser 2 (pages ). CS 311 Fall Formally… A pushdown automaton is a sextuple M = (Q, Σ, Γ, δ, q 0, F), where – Q is a finite set.
Lecture 3UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3.
Lecture 3 Goals: Formal definition of NFA, acceptance of a string by an NFA, computation tree associated with a string. Algorithm to convert an NFA to.
Lecture 3 Goals: Formal definition of NFA, acceptance of a string by an NFA, computation tree associated with a string. Algorithm to convert an NFA to.
Review of the automata-theoretic approach to model-checking.
College of Computer Science & Technology Compiler Construction Principles & Implementation Techniques -1- Compiler Construction Principles & Implementation.
Table-driven parsing Parsing performed by a finite state machine. Parsing algorithm is language-independent. FSM driven by table (s) generated automatically.
Theory of Computing Lecture 22 MAS 714 Hartmut Klauck.
Grammars, Languages and Finite-state automata Languages are described by grammars We need an algorithm that takes as input grammar sentence And gives a.
Model Checking Lecture 5. Outline 1 Specifications: logic vs. automata, linear vs. branching, safety vs. liveness 2 Graph algorithms for model checking.
1 Non-Deterministic Finite Automata. 2 Alphabet = Nondeterministic Finite Automaton (NFA)
Regular Model Checking Ahmed Bouajjani,Benget Jonsson, Marcus Nillson and Tayssir Touili Moran Ben Tulila
UPPAAL Ghaith Haddad. Introduction UPPAAL is a tool for modeling, validation and verification of real-time systems. Appropriate for systems that can be.
A summary of our activities about WSI Philippe Giabbanelli CMPT 894 – Spring 2008.
DECIDABILITY OF PRESBURGER ARITHMETIC USING FINITE AUTOMATA Presented by : Shubha Jain Reference : Paper by Alexandre Boudet and Hubert Comon.
Pushdown Automata CS 130: Theory of Computation HMU textbook, Chap 6.
Algorithmic Software Verification III. Finite state games and pushdown automata.
XML Data Management 10. Deterministic DTDs and Schemas Werner Nutt.
4b 4b Lexical analysis Finite Automata. Finite Automata (FA) FA also called Finite State Machine (FSM) –Abstract model of a computing entity. –Decides.
Managing XML and Semistructured Data Lecture 13: XDuce and Regular Tree Languages Prof. Dan Suciu Spring 2001.
Push-down Automata Section 3.3 Fri, Oct 21, 2005.
Regular Model Checking Made Simple and Efficient P. Abdulla, B. Jonsson, M. Nilsson and J. d’Orso Uppsala University.
Software Verification 2 Automated Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität and Fraunhofer Institut für.
Verification & Validation By: Amir Masoud Gharehbaghi
Modelling Reactive Systems 4 Professor Muffy Calder Dept. of Computing Science University of Glasgow
An Introduction to Rabin Automata Presented By: Tamar Aizikowitz Spring 2007 Automata Seminar.
CSC3315 (Spring 2009)1 CSC 3315 Lexical and Syntax Analysis Hamid Harroud School of Science and Engineering, Akhawayn University
Finite Automata Chapter 1. Automatic Door Example Top View.
Chapter 5 Context-Free Languages Regular language are effective in describing certain simple patterns. But it is not enough to describe programming languages.
Lecture 2 Overview Topics What I forgot from last lecture Proof techniques continued Alphabets, strings, languages Automata June 2, 2015 CSCE 355 Foundations.
CSCI 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Pushdown.
About Alternating Automata Daniel Choi Provable Software Laboratory KAIST.
Overview of Previous Lesson(s) Over View  A token is a pair consisting of a token name and an optional attribute value.  A pattern is a description.
Pushdown Automata Hopcroft, Motawi, Ullman, Chap 6.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen.
CS 404Ahmed Ezzat 1 CS 404 Introduction to Compiler Design Lecture 1 Ahmed Ezzat.
Theory of Computation Automata Theory Dr. Ayman Srour.
Communicating Timed Automata Pavel Krčál Wang Yi Uppsala University [CAV’06]
Table-driven parsing Parsing performed by a finite state machine.
Chapter 2 Finite Automata
Recognizer for a Language
Regular Grammar - Finite Automaton
Jaya Krishna, M.Tech, Assistant Professor
COSC 3340: Introduction to Theory of Computation
CSE322 CONSTRUCTION OF FINITE AUTOMATA EQUIVALENT TO REGULAR EXPRESSION Lecture #9.
Non-Deterministic Finite Automata
CSE322 Definition and description of finite Automata
Introduction to Finite Automata
Finite Automata.
Pushdown automata a_introduction.htm.
Chapter 3. Lexical Analysis (2)
CSE322 NDFA WITH NULL MOVES AND REGULAR EXPRESSION
4b Lexical analysis Finite Automata
Principles of Computing – UFCFA3-30-1
Pushdown automata The Chinese University of Hong Kong Fall 2011
COMPILER CONSTRUCTION
Presentation transcript:

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 With counters With stacks With channels parameterized A uniform analysis framework for systems : These systems can be characterized by finite-state automata.

Regular model checking Most important operation: computing transitive closures. 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  a b c d a b d node label this node is called “root”

Tree Automata 01 or and or and q1q2 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 Transition: 1 q2

Tree Automata Input: and or 101 Run: q1 q2 Transition: or q2 q1

Tree Automata Input: and or 101 Run: q1 q2 Transition: and q2

Tree Automata Input: and or 101 Run: q1 q2 Accept ! q2

Tree Relations a bc d ef

We represent a pair of “similar” trees by a tree on an alphabet with pairs: a bc d ef (a,d) (b,e)(c,f)

History Automata x Tx input

History Automata x Tx T xx input intermediate

History Automata x Tx x xT T xx inputoutput intermediate

History Automata In (word) regular model checking, concept of columns Transpose this to trees: represent a sequence of runs into single run. x Tx q1 q2q3 x xT q4 q5q6 T xx inputoutput intermediate run 1run 2

History Automata In (word) regular model checking, concept of columns Transpose this to trees: represent a sequence of runs into single run. x Tx x xT inputoutput run 1+2 q1.q4 q2.q5q3.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