skip to main content
10.1145/1007352.1007390acmconferencesArticle/Chapter ViewAbstractPublication PagesstocConference Proceedingsconference-collections
Article

Visibly pushdown languages

Published:13 June 2004Publication History

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 definition, 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 Vpl 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 Exptime-complete for visibly pushdown automata. Our framework explains, unifies, and generalizes many of the decision procedures in the program analysis literature, and allows algorithmic verification 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 Vpl 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 infinite 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 finite words turns out to be determinizability: nondeterministic Büchi visibly pushdown automata are strictly more expressive than deterministic Muller visibly pushdown automata.

References

  1. J. Autebert, J. Berstel, L. Boasson. Context-free languages and pushdown automata. In Handbook of Formal Languages, Vol. 1, pages 111--174, Springer, 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. R. Alur, K. Etessami, and P. Madhusudan. A temporal logic of nested calls and returns. To appear in Proc. of Tools and Algorithms for the Construction and Analysis of Systems, 10th International Conference, TACAS'04, Spain, LNCS 2988. Springer, 2004.]]Google ScholarGoogle Scholar
  3. R. Alur, K. Etessami, and M. Yannakakis. Analysis of recursive state machines. In Proc. of the 13th International Conference on Computer Aided Verification, LNCS 2102, pages 207--220. Springer, 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. J. Berstel and L. Boasson. Balanced grammars and their languages. In Formal and Natural Computing: Essays Dedicated to Grzegorz Rozenberg, LNCS 2300, pages 3--25. Springer, 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. A. Boujjani, J. Esparza, and O. Maler. Reachability analysis of pushdown automata: Applications to model checking. In CONCUR'97: Concurrency Theory, Eighth International Conference, LNCS 1243, pages 135--150. Springer, 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. T. Ball and S. Rajamani. Bebop: A symbolic model checker for boolean programs. In SPIN 2000 Workshop on Model Checking of Software, LNCS 1885, pages 113--130. Springer, 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. O. Burkart and B. Steffen. Model checking for context-free processes. In CONCUR'92: Concurrency Theory, Third International Conference, LNCS 630, pages 123--137. Springer, 1992.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. A. Bouquet, O. Serre and I. Walukiewicz. Pushdown games with unboundedness and regular conditions. To appear in Foundations of Software Technology and Theoretical Computer Science (FSTTCS), December 2003.]]Google ScholarGoogle Scholar
  9. H. Comon, M. Dauchet, R. Gilleron, D. Lugiez, S. Tison and M. Tommasi. Tree automata techniques and applications. Draft, Available at http://www. grappa. univ-lille3. fr/tata/, 2002.]]Google ScholarGoogle Scholar
  10. T. Cachat, J. Duparc and W. Thomas. Solving pushdown games with a Σ3 winning condition. In Proceedings of the 11th Annual Conference of the European Association for Computer Science Logic, CSL 2002, volume 2471 of Lecture Notes in Computer Science, pages 322--336. Springer, 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. R. S. Cohen and A. Y. Gold. Theory of omega-Languages. I. Characterizations of omega-Context-Free Languages. JCSS 15(2): 169--184, 1977.]]Google ScholarGoogle ScholarCross RefCross Ref
  12. K. Chatterjee, D. Ma, R. Majumdar, T. Zhao, T. A. Henzinger, and J. Palsberg. Stack size analysis for interrupt driven programs. In Proceedings of the 10th International Symposium on Static Analysis, volume LNCS 2694, pages 109--126, 2003.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. H. Chen and D. Wagner. Mops: an infrastructure for examining security properties of software. In Proceedings of ACM Conference on Computer and Communications Security, pages 235--244, 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Esparza, A. Kucera, and S. S. Schwoon. Model-checking LTL with regular valuations for pushdown systems. Information and Computation, 186(2):355--376, 2003.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. T. A. Henzinger, R. Jhala, R. Majumdar, G. C. Necula, G. Sutre, and W. Weimer. Temporal-safety proofs for systems code. In CAV 02: Proc. of 14th Conf. on Computer Aided Verification, LNCS 2404, pages 526--538. Springer, 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. D. Harel, D. Kozen and J. Tiuryn. Dynamic Logic. MIT Press, 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. T. Jensen, D. Le Metayer, and T. Thorn. Verification of control flow based security properties. In Proceedings of the IEEE Symposium on Security and Privacy, pages 89--103, 1999.]]Google ScholarGoogle ScholarCross RefCross Ref
  18. D. E. Knuth. A characterization of parenthesis languages. Information and Control, 11(3):269--289, 1967.]]Google ScholarGoogle ScholarCross RefCross Ref
  19. C. Lautemann, T. Schwentick and D. Therien. Logics For context-free languages. In Proceedings of Computer Science Logic, 8th International Workshop, CSL '94, Poland, LNCS 933, pages 205--216. Springer, 1994.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. R. McNaughton. Parenthesis grammars. Journal of the ACM, 14(3):490--500, 1967.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. T. Reps, S. Horwitz, and S. Sagiv. Precise interprocedural dataflow analysis via graph reachability. In Proceedings of the ACM Symposium on Principles of Programming Languages, pages 49--61, 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. S. Safra. On the complexity of $omega$-automata. In Proceedings of the 29th IEEE Symposium on Foundations of Computer Science, pages 319--327, 1988.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. W. Thomas. Automata on infinite objects. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B, pages 133--191. Elsevier Science Publishers, 1990.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. M. Y. Vardi and P. Wolper. An automata-theoretic approach to automatic program verification. In Proceedings of the First IEEE Symposium on Logic in Computer Science, pages 332--344, 1986.]]Google ScholarGoogle Scholar

Index Terms

  1. Visibly pushdown languages

                    Recommendations

                    Comments

                    Login options

                    Check if you have access through your login credentials or your institution to get full access on this article.

                    Sign in
                    • Published in

                      cover image ACM Conferences
                      STOC '04: Proceedings of the thirty-sixth annual ACM symposium on Theory of computing
                      June 2004
                      660 pages
                      ISBN:1581138520
                      DOI:10.1145/1007352

                      Copyright © 2004 ACM

                      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                      Publisher

                      Association for Computing Machinery

                      New York, NY, United States

                      Publication History

                      • Published: 13 June 2004

                      Permissions

                      Request permissions about this article.

                      Request Permissions

                      Check for updates

                      Qualifiers

                      • Article

                      Acceptance Rates

                      Overall Acceptance Rate1,469of4,586submissions,32%

                      Upcoming Conference

                      STOC '24
                      56th Annual ACM Symposium on Theory of Computing (STOC 2024)
                      June 24 - 28, 2024
                      Vancouver , BC , Canada

                    PDF Format

                    View or Download as a PDF file.

                    PDF

                    eReader

                    View online with eReader.

                    eReader