The Tree-Width of auxiliary storage Gennaro Parlato (University of Southampton, UK) Joint work: P. Madhusudan – UIUC, USA.

Slides:



Advertisements
Similar presentations
Model Checking From Tools to Theory University of Pennsylvania
Advertisements

Complexity Classes: P and NP
Theory of Computation CS3102 – Spring 2014 A tale of computers, math, problem solving, life, love and tragic death Nathan Brunelle Department of Computer.
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Gennaro Parlato (LIAFA, Paris, France) Joint work with P. Madhusudan Xiaokang Qie University of Illinois at Urbana-Champaign.
Gennaro Parlato (LIAFA, Paris, France) Joint work with P. Madhusudan Xiaokang Qie University of Illinois at Urbana-Champaign.
Bebop: A Symbolic Model Checker for Boolean Programs Thomas Ball Sriram K. Rajamani
Timed Automata.
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.
1/25 An Infinite Automaton Characterization of Double Exponential Time Gennaro Parlato University of Illinois at Urbana-Champaign Università degli Studi.
A Fixpoint Calculus for Local and Global Program Flows Swarat Chaudhuri, U.Penn (with Rajeev Alur and P. Madhusudan)
Reducing Context-bounded Concurrent Reachability to Sequential Reachability Gennaro Parlato University of Illinois at Urbana-Champaign Salvatore La Torre.
The Language Theory of Bounded Context-Switching Gennaro Parlato (U. of Illinois, U.S.A.) Joint work with: Salvatore La Torre (U. of Salerno, Italy) P.
CS21 Decidability and Tractability
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
On Sequentializing Concurrent Programs Ahmed Bouajjani LIAFA, University of Paris 7, France LIAFA, University of Paris 7, France Michael Emmi LIAFA, University.
The Tree-Width of automata with auxiliary storage Gennaro Parlato (LIAFA, CNRS, Paris, France) joint work with P. Madhusudan (Univ of Illinois at Urbana-Champaign,
Model Checking Lecture 5. Outline 1 Specifications: logic vs. automata, linear vs. branching, safety vs. liveness 2 Graph algorithms for model checking.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 4 Context-free grammars Jan Maluszynski, IDA, 2007
Reachability Analysis for Some Models of Infinite-State Transition Systems Oscar H. Ibarra, Tevfik Bultan, and Jianwen Su Department of Computer Science.
Hierarchical and Recursive State Machines with Context- Dependent Properties Salvatore La Torre, Margherita Napoli, Mimmo Parente and Gennaro Parlato Dipartimento.
1/25 Context-Bounded Analysis of Concurrent Queue Systems Gennaro Parlato University of Illinois at Urbana-Champaign Università degli Studi di Salerno.
A temporal logic for calls and returns P. Madhusudan University of Pennsylvania Joint work with Rajeev Alur and Kousha Etessami Talk at HCES 2004, Philadelphia.
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.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
Scope-Bounded Pushdown Languages Salvatore La Torre Università degli Studi di Salerno joint work with Margherita Napoli Università degli Studi di Salerno.
Algorithmic Software Verification IV. Regularity of configs of a PDA; modeling programs using PDA.
Week 14 - Friday.  What did we talk about last time?  Exam 3 post mortem  Finite state automata  Equivalence with regular expressions.
Theory of Computing Lecture 15 MAS 714 Hartmut Klauck.
Languages of nested trees Swarat Chaudhuri University of Pennsylvania (with Rajeev Alur and P. Madhusudan)
Scope-Bounded Pushdown Languages Salvatore La Torre Università degli Studi di Salerno joint work with Margherita Napoli Università degli Studi di Salerno.
Automatic Structures Bakhadyr Khoussainov Computer Science Department The University of Auckland, New Zealand.
The Tree-Width of Decidable Problems 1 Gennaro Parlato (U. Southampton, UK) joint work with: P. Madhusudan (UIUC, USA) Salvatore La Torre (U. Salerno,
Visibly Pushdown Languages Philippe Giabbanelli CMPT 894 – Spring 2008.
Pushdown Automata CS 130: Theory of Computation HMU textbook, Chap 6.
Scope-bounded Multistack Pushdown Systems: - fixed-point - sequentialization - tree-width 1 Salvatore La Torre Gennaro Parlato (U. Salerno, Italy) (U.
Pushdown Automata (PDAs)
4b 4b Lexical analysis Finite Automata. Finite Automata (FA) FA also called Finite State Machine (FSM) –Abstract model of a computing entity. –Decides.
Push-down Automata Section 3.3 Fri, Oct 21, 2005.
Algorithmic Software Verification Rajeev Alur University of Pennsylvania ARO Review, May 2005.
Weighted Automata and Concurrency Akash Lal Microsoft Research, India Tayssir Touili, Nicholas Kidd and Tom Reps ACTS II, Chennai Mathematical Institute.
Compositionality Entails Sequentializability Pranav Garg, P. Madhusudan University of Illinois at Urbana-Champaign.
Getting Rid of Store-Buffers in TSO Analysis Mohamed Faouzi Atig Uppsala University, Sweden Ahmed Bouajjani LIAFA, University of Paris 7, France LIAFA,
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
Learning Universally Quantified Invariants of Linear Data Structures Pranav Garg 1, Christof Loding, 2 P. Madhusudan 1 and Daniel Neider 2 1 University.
Logics, automata and algorithms for graphs p. madhusudan (madhu) University of Illinois at Urbana-Champaign, USA.
Quantified Data Automata on Skinny Trees: an Abstract Domain for Lists Pranav Garg 1, P. Madhusudan 1 and Gennaro Parlato 2 1 University of Illinois at.
Pushdown Automata Hopcroft, Motawi, Ullman, Chap 6.
Grammar Set of variables Set of terminal symbols Start variable Set of Production rules.
1 Finite Model Theory Lecture 5 Turing Machines and Finite Models.
1 8.4 Extensions to the Basic TM Extended TM’s to be studied: Multitape Turing machine Nondeterministic Turing machine The above extensions make no increase.
Week 14 - Friday.  What did we talk about last time?  Simplifying FSAs  Quotient automata.
CS6800 Advance Theory of Computation Spring 2016 Nasser Alsaedi
Week 14 - Wednesday.  What did we talk about last time?  Exam 3 post mortem  Finite state automata  Equivalence with regular expressions.
Lecture 11  2004 SDU Lecture7 Pushdown Automaton.
On Sequentializing Concurrent Programs
Adding Nesting Structure to Words
Sequentializing Parameterized Programs
Pushdown automata Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Chapter 7 PUSHDOWN AUTOMATA.
Summary.
CSE322 The Chomsky Hierarchy
Pushdown automata Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Pushdown automata Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Lecture One: Automata Theory Amjad Ali
Pushdown automata Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Pushdown automata Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Pushdown automata Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Presentation transcript:

The Tree-Width of auxiliary storage Gennaro Parlato (University of Southampton, UK) Joint work: P. Madhusudan – UIUC, USA

Automata with aux storage Turing machines = finite automata + 1 infinite tape Undecidable membership and emptiness CFLs = nondeterministic finite automata + 1 stack Decidable membership and emptiness Finite automata + 2 stacks; Finite automata + 1 queue  undecidable membership and emptiness Studies into finding the “boundary” of decidability

Verification: renewed interest in automata+aux storage PDA emptiness  Emptiness algorithm using “summaries”  Result due to Buchi that reachable configurations of a PDA is regular Static analysis of control  Reps-Horowitz-Sagiv; Pnueli-  Context-sensitive static data-flow analysis of programs with recursion is essentially PDA emptiness SLAM project from Microsoft Research  Predicate abstraction of software that abstracts data to Boolean domains [Ball-Rajamani-’90]  Constructs a PDA model and checks emptiness/reachability.  BEBOP: PDA emptiness using “summaries” MOPED: PDA emptiness using regularity of reachable configs

Verification: renewed interest in automata+aux storage Concurrent program verification using abstraction  Each program has its own “control stack”  Static analysis  Emptiness of multi-stack automata Distributed systems (message-passing systems – OS – event-driven)  Processes communicate using message queues  Static analysis  Emptiness of Finite state automata + queues  When individual processes have recursion, Static analysis  Emptiness of FSA + stacks + queues !

Decidable emptiness Multistack pushdown automata with  k-context-switches (Rehof, Qadeer - TACAS’05 ) (Lal, Reps - CAV’08)  k-phases (La Torre, Madhusudan, Parlato - LICS’07 )  ordered (Breveglieri, Cherubini, Citrini, Crespi-Reghizzi – JFOCS’95)  Parameterized pushdown automata with k contexts (La Torre, Madhusudan, Parlato - CAV’09, CAV’10 ) Distributed automata with FIFO queues  finite state processes with polyforest architecture  pushdown processes with forest architecture + well queuing (La Torre, Madhusudan, Parlato. - TACAS’08 )  Non-confluent architectures + size 1 queues (Heußner, Leroux, Muscholl, Sutre - FOSSACS’10 )

The question is … So many decidable subclasses; so much awkwardness Is there a robust common principle that explains their decidability? Answer: We present a general criterion that uniformly explains many of such results: Simulated by graph automata working on graphs of bounded tree-width

Graph Automata over a class of graphs C (MSO definable) Main schema Automaton with auxiliary storage Class of graphs C working over automaton behaviors Tiling the graphs in C MSO satisfiability over graphs (Undecidable) Extension of Courcelle’s Theorem Empt. M reduces to Empt. GA Empt. GA reduces to If C has bounded Tree-width (decidable) All classes C corresponding to decidable classes turn out to have bounded tree-width

Graph automata Tree-width of graphs Monadic Second Order logic on graphs  Courcelle Theorem Running example: PushDown Automata (PDA)

Graph automata Fix a class C of  -labeled graphs A graph automaton over C is a triple GA = ( Q, {tiles a } a  , type )  Q is a finite set of states  tiles a  Q x Q  type: Q  2  x 2  A graph G is accepted by GA if we can decorate each node with a state such that  Each edge can be tiled  Each node v decorated with state q i must satisfy the type condition If type( q i ) = ( IN, OUT ) then IN  { Incoming-edges of v}, OUT  {Outgoing-edges} q1q1 q2q2 q3q3 q4q4 q5q5 a a a b c c

PDA simulation with GA A Nested Word graph captures the behavior of a run of a PDA  The stack is compiled down into the nested word (nesting edges) (Alur, Madhusudan – STOC`04, JACM’09) push int pop int pop int push int pop nested lin init final lin Graph automaton over NWs can simulate PDA  States: [ move-type, PDA state, stack-symbol ]  Tiles & Types: internal: (q, q’)  ( [int, q, - ], [*, q’, * ] )  tiles lin push: (q, q’, ϒ )  ( [push, q, ϒ ], [*, q’, * ] )  tiles lin pop: (q, ϒ, q’)  ( [pop, q, ϒ ], [*, q’, * ] )  tiles lin tiles nested = { ( [push, *, ϒ ], [pop, *, ϒ ]) | ϒ is a stack symbol } tiles init ={ ( [*, q init, *], [*, q init, *] ) } type( [push, *, *] )=( {}, {nested}) tiles final ={ ( [*, q final, *], [*, q final, *] ) } type( [pop, *, *] )=( {nested}, {} ) type( [pop, *, *, * ] ) = ( {nested}, {} )

Graph automata Tree-width of graphs Monadic Second Order logic on graphs  Courcelle Theorem Running example: PushDown Automata (PDA)

Tree-width of graphs G=(V,E) A tree decomposition of G is a pair (T, {bag z } z is a node of T ), where T is a tree and bag z is a subset of G nodes, such that  every edge of G has both endpoints in some bag  for every node of G the set of bags that contain it form a subtree of T The width of the tree decomposition is the maximum of |bag z |-1 over all T nodes z The treewidth of a graph G, is the minimum such width over all tree decompositions of G

Tree-decompositions (examples) Line graph ,2 1,3 3,73,62,42,5 Tree-width: 1 1,2 2,3 3,4 Tree-width: 1 Tree Cicle 2,4 3,4 1,2,4 2,3,4 3,4 Tree-width: 2 41,4  every edge of G has both endpoints in some bag  for every node of G the set of bags that contain it form a subtree of T

Tree-decompositions (examples) Complete graph with k+1 nodes Tree-width k  every edge of G has both endpoints in some bag  for every node of G the set of bags that contain it form a subtree of T

Nested words have tree-width Nodes of NW and T are the same Edges: If (u,v) is a linear edge & v is not a pop node then v is the left-child of u If (u,v) is a nesting edge then v is the right-child of u 1,2 2,3 3,4 4,5, 5,6 7,8 11,12 3,9 9,10 11,13 10,11 2,14 4,7 7, ,9 9, ,14 14,14 14

Graph automata Tree-width of graphs Monadic Second Order logic on graphs  Courcelle Theorem Running example: PushDown Automata (PDA)

Monadic second-order logic on graphs For a fixed alphabet , a  -labeled graph is a structure (V, {E a } a   ) where  V is a finite set of vertices  E a  V x V is a set of edges labeled by a MSO is given by the following syntax  ::= x=y | E a (x,y) | x  X |  |  |  x.  (x) |  X.  (X) where  x, y are first-order variables, X is a second-order variable  E a (x,y) is a binary relation A class of  -labeled graphs C is MSO-definable if there is a  such that  holds on G iff G is a graph in C

MSO on graphs Satisfiability problem for MSO on a class of graphs C:  Given  is there a graph G in C satisfies  ? Over the class of all graphs, MSO is undecidable (even FO is undecidable) Satisfiability problem for MSO is decidable on the class of all graphs of tree width k, for any fixed k [Courcelle] In fact, if C is any class of graphs of bounded tree-width that is MSO definable, then satisfiability of MSO on C is decidable Hence graph automata emptiness is decidable of any class C of bdd tw that is MSO definable

PDA  Nested words A NW graph captures the behavior of a run  The stack is compiled down into the nested word (nesting edges) The class of NWs is MSO definable (linear order + nesting edges; nesting edges should not cross) Graph automata working over this graph can simulate a PDA NWs have tree-width 2 Hence decidable emptiness push int pop int pop int push int pop

Graph Automata for PDA (MSO definable) Main schema for PDAs PDA Nested words Tiling MSO satisfiability over graphs of TW=2 Extension of Courcelle’s Theorem Empt. M reduces to Empt. GA Empt. GA reduces to decidable

We give simulations for … Pushdown automata  Behavior graphs: nested words  Tree-width: 2 n-stack pushdown automata  Behavior graphs: n-nested words (unbounded tree-width)  Restrictions - k-contexts tree-width: O( k ) - k-phases tree-width: O( 2 k ) - ordered tree-width: O( n 2 n ) Distributed automata with n-processes & FIFO queues  Behavior graphs: stack-queue graphs (unbounded tree-width)  Restrictions: - finite state processes with polyforest architecture - tree-width: O( n) - pushdown processes with forest architecture + well queuing - tree-width: O(n)

Simulation for multistack pushdown automata

Multistack pushdown automata … Finite Control Finite number of stacks S 1, …,S n Stack alphabet  Finite set of states Q Initial state q 0 Final states F  Q A set of moves : Internal move: (q, q’) Pop move: (q, , stack_num, q’) Push move: (q, , stack_num, q’) S1S1 S2S2 SnSn

Multiply Nested Words (MNW) A MNW graph captures the behavior of a run  Stacks are compiled down into the graph (nesting edges) The class MNWs is MSO definable Unbounded tree-width (undecidable emptiness problem) push 1 push 2 pop 1 pop 2 pop 1 int push 1 pop 2 pop 1

Bounded-context MPDAs k-contexts MPDA (Qadeer, Rehof - TACAS’05) In a context only one stack can be used The class of MNWs with k contexts is  MSO definable  tree-width: k + 1 The emptiness problem for bounded-context MPAs can be proved to be decidable by using the schema …

Bounded-phase MPDAs k-phase MPDA (La Torre, Madhusudan, Parlato - LICS’07) In a phase only one stack can be popped (all the stacks can be pushed) MNWs with k phases are  MSO definable  tree-width: 2 k + 2 k (not easy to show; complex tree decomposition) The emptiness problem for bounded-phase MPDAs is hence proved to be decidable by using the schema

Ordered MPDAs Ordered MPDAs (Breveglieri et al, J. Found. Comput. Sci.’95) Only the first non empty stack can be popped All stacks can be pushed Ordered MNWs are  MSO definable  tree-width: (n+1) 2 n-1 +1, where n is the number of stacks The emptiness problem for ordered MPAs can be proved to be decidable by using the schema

Simulation for distributed automata with queues

Distributed automata with queues Distributed automata with queues with  finite state processes  pushdown processes

Queue graphs (finite processes) P1:P1: P2:P2: P3:P3: A queue graph captures the behavior of a run  queues are compiled down into the graph (blue edges) The class of queue graphs is MSO definable (linear orders for each process, FIFO edges) Unbounded tree-width

Stack-queue graphs (PD processes) P1:P1: P2:P2: P3:P3: A stack-queue graph captures the behavior of a run  Stacks and queues are compiled down into the graph The class stack-queue graphs is MSO definable Unbounded tree-width

Decidable class (La Torre, Madhusudan, Parlato, TACAS’08) Pushdown processes - directed forests + well-queuing Well-queuing condition: each process can receive a message only when its stack is empty TREE-WIDTH -Any run can be simulated by a push-down automaton - These stack queue graphs can be decomposed in nested words with nested-word-width n - Graph decompositions compose - Tree-width: 3n-1

Decidable class (La Torre, Madhusudan, P., TACAS’08) Finite state processes - polyforest architectures A directed graph is a polyforest if the underlying undirected graph is a forest TREE-WIDTH - edges can be reversed to make it a directed tree - These queue graphs can be seen as stack-queue graphs for directed forests + well queuing (no stack) - Tree-width: 3n-1

Conclusions and Future directions

Decidable emptiness problem Multistack pushdown automata with  k-contexts (Rehof, Qadeer - TACAS’05 )  k-phases (La Torre, Madhusudan, P. - LICS’07 )  ordered (Breveglieri, Cherubini, Citrini, Crespi-Reghizzi - Int. J. Found. Comput. Sci.’95 )  Parameterized pushdown automata with k-rounds (La Torre, Madhusudan, P. - CAV’10 )  Bounded Scope (La Torre, Napoli - CONCUR’11 )  K-context + TSO queues (Atig, Bouajjani, P. - CAV’11 ) Distributed automata with finite processes & FIFO queues  finite state processes with polyforest architecture  pushdown processes with forest architecture + well queuing (La Torre, Madhusudan, P. - TACAS’08 )  Non-confluent architectures + eager runs (Heußner, Leroux, Muscholl, Sutre - FOSSACS’10 )

Conclusion A general criterion that uniformly explains many decidability results for automata with auxiliary storage (stacks,queues) New results can be easily derived  For multistack pushdown automata considering phases where in each phase only one stack can be pushed but all the stacks can be popped can be shown decidable  Flipping the direction of edges you get bounded-phase MNWs  General result can be extended to graphs of bdd clique width  Extends to infinite words  Eg. Buchi/parity ordered multi-stack automata is decidable

Conclusion New view of automata with storage  Don’t be “mesmerized” by the storage capabilities and restrictions  Look instead at the the underlying graph that captures the storage (graph automaton working on these graphs must be able to simulate the automaton with aux storage)  Look at the tree-width of this graph Complexity: matches best known time complexity