A Robust Class of Context-Sensitive Languages

We define a new class of languages defined by multi-stack automata that forms a robust subclass of context-sensitive languages, with decidable emptiness and closure under boolean operations. This class, called multi-stack visibly pushdown languages (MVPLs), is defined using multi-stack pushdown automata with two restrictions: (a) the pushdown automaton is visible, i.e. the input letter determines the operation on the stacks, and (b) any computation of the machine can be split into k stages, where in each stage, there is at most one stack that is popped. MVPLs are an extension of visibly pushdown languages that captures noncontext free behaviors, and has applications in analyzing abstractions of multithreaded recursive programs, signifi- cantly enlarging the search space that can be explored for them. We show that MVPLs are closed under boolean operations, and problems such as emptiness and inclusion are decidable. We characterize MVPLs using monadic second-order logic over appropriate structures, and exhibit a Parikh theorem for them.

[1]  Pierre Wolper,et al.  Automata theoretic techniques for modal logics of programs: (Extended abstract) , 1984, STOC '84.

[2]  Jakob Rehof,et al.  Context-Bounded Model Checking of Concurrent Software , 2005, TACAS.

[3]  Carl A. Gunter,et al.  In handbook of theoretical computer science , 1990 .

[4]  Rasmus Ejlers Møgelberg,et al.  Proceedings of the 22nd Annual IEEE Symposium on Logic in Computer Science , 2007 .

[5]  Pawel Urzyczyn,et al.  Higher-Order Pushdown Trees Are Easy , 2002, FoSSaCS.

[6]  Ludwig Staiger,et al.  Ω-languages , 1997 .

[7]  Hubert Comon,et al.  Tree automata techniques and applications , 1997 .

[8]  M. W. Shields An Introduction to Automata Theory , 1988 .

[9]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[10]  Tayssir Touili,et al.  Regular Symbolic Analysis of Dynamic Networks of Pushdown Systems , 2005, CONCUR.

[11]  David Harel,et al.  Deciding Properties of Nonregular Programs , 1993, SIAM J. Comput..

[12]  Wolfgang Thomas,et al.  Automata on Infinite Objects , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[13]  Wolfgang Thomas,et al.  Languages, Automata, and Logic , 1997, Handbook of Formal Languages.

[14]  Robin Milner,et al.  Handbook of Theoretical Computer Science (Vol. B) , 1990 .

[15]  John Doner,et al.  Tree Acceptors and Some of Their Applications , 1970, J. Comput. Syst. Sci..

[16]  Seymour Ginsburg,et al.  One-way stack automata , 1967, JACM.

[17]  James W. Thatcher,et al.  Generalized finite automata theory with an application to a decision problem of second-order logic , 1968, Mathematical systems theory.

[18]  Dinghao Wu,et al.  KISS: keep it simple and sequential , 2004, PLDI '04.

[19]  E. Allen Emerson,et al.  Temporal and Modal Logic , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[20]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

[21]  Dimiter Vakarelov,et al.  Propositional dynamic logic with recursive programs , 1988 .

[22]  R. Alur,et al.  Adding nesting structure to words , 2006, JACM.

[23]  Rajeev Alur,et al.  Visibly pushdown languages , 2004, STOC '04.

[24]  Vineet Kahlon,et al.  Reasoning About Threads Communicating via Locks , 2005, CAV.

[25]  Sagar Chaki,et al.  Verifying Concurrent Message-Passing C Programs with Recursive Calls , 2006, TACAS.

[26]  Javier Esparza,et al.  Reachability Analysis of Multithreaded Software with Asynchronous Communication , 2005, FSTTCS.

[27]  Rohit Parikh,et al.  On Context-Free Languages , 1966, JACM.