MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Summary

Download:
pdf
unknown authors
http://www.cis.upenn.edu/~alur/vpl.pdf
Add To MetaCart

Abstract:

We propose the class of visibly pushdown languages as embeddings of context-free languages that is rich enough to model program analysis questions and yet is tractable and robust like the class of regular languages. In our denition, the input symbol determines when the pushdown automaton can push or pop, and thus the stack depth at every position. We show that the resulting class ## # of languages is closed under union, intersection, complementation, renaming, concatenation, and Kleene-#, and problems such as inclusion that are undecidable for context-free languages are #######-complete for visibly pushdown automata. Our framework explains, unies, and generalizes many of the decision procedures in the program analysis literature, and allows algorithmic veri cation of recursive programs with respect to many context-free properties including access control properties via stack inspection and correctness of procedures with respect to pre and post conditions. We demonstrate that the class ## # is robust by giving two alternative characterizations: a logical characterization using the monadic second order (MSO) theory over words augmented with a binary matching predicate, and a correspondence to regular tree languages. We also consider visibly pushdown languages of innite words and show that the closure properties, MSO-characterization and the characterization in terms of regular trees carry over. The main difference with respect to the case of nite words turns out to be determinizability: nondeterministic Buchi visibly pushdown automata are strictly more expressive than deterministic Muller automata.

Citations

600 First-Order Dynamic Logic – Harel - 1979
460 P.: An automata-theoretic approach to automatic program verification – Vardi, Wolper - 1986
200 Reachability analysis of pushdown automata: Application to model-checking – Bouajjani, Esparza, et al. - 1997
142 Bebop: A symbolic model checker for booleanprograms. In SPIN Workshop on Model Checking of Software, 2000. [5 – Ball, Rajamani - 1977
115 MOPS: an infrastructure for examining security properties of software – Chen, Wagner
86 Automata on in objects – Thomas - 1990
75 Model checking for context-free processes – Steffen, Burkart - 1992
71 On the complexity of !-automata – Safra - 1988
66 Analysis of recursive state ma-chines – Alur, Etessami, et al. - 2001
43 Context-free languages and pushdown automata – AUTEBERT, BERSTEL, et al. - 1997
33 Model-checking LTL with regular valuations for pushdown systems – Esparza, Kucera, et al. - 2001
29 Parenthesis grammars – McNaughton - 1967
18 Precise Interprocedural Data Analysis via Graph Reachability – Reps, Horwitz, et al. - 1995
17 A characterization of parenthesis languages – Knuth - 1967
12 Pushdown games with unboundedness and regular conditions – Bouquet, Serre, et al. - 2003
11 Tree automata techniques and applications. Draft book; available electronically on http://www.grappa.univ-lille3.fr/tata – Comon, Dauchet, et al. - 2002
8 Balanced grammars and their languages – Berstel, Boasson - 2002
6 Veri of control based security properties – Jensen, Metayer, et al. - 1999
2 Theory of omega-Languages. I. Characterizations of omegaContext -Free Languages. JCSS 15(2 – Cohen, Gold - 1977
1 A temporal logic of nested calls and returns. Submitted for publication (available at – Alur, Etessami, et al. - 2003
1 Solving pushdown games with a # winning condition – Cachat, Duparc, et al. - 2002