skip to main content
research-article

Ramsey-Based Inclusion Checking for Visibly Pushdown Automata

Published: 26 August 2015 Publication History

Abstract

Checking whether one formal language is included in another is important in many verification tasks. In this article, we provide solutions for checking the inclusion of languages given by visibly pushdown automata over both finite and infinite words. Visibly pushdown automata are a richer automaton model than the classical finite-state automata, which allows one, for example, to reason about the nesting of procedure calls in the executions of recursive imperative programs. The presented solutions do not rely on explicit automaton constructions for determinization and complementation. Instead, they are more direct and generalize the so-called Ramsey-based inclusion-checking algorithms, which apply to classical finite-state automata and proved to be effective there to visibly pushdown automata. We also experimentally evaluate these algorithms, demonstrating the virtues of avoiding explicit determinization and complementation constructions.

References

[1]
P. A. Abdulla, Y.-F. Chen, L. Clemente, L. Holík, C.-D. Hong, R. Mayr, and T. Vojnar. 2011. Advanced Ramsey-based Büchi automata inclusion testing. In Proceedings of the 22nd International Conference on Concurrency Theory (CONCUR’11), Lecture Notes in Computer Science, Vol. 6901. Springer, Berlin, 187--202.
[2]
P. A. Abdulla, Y.-F. Chen, L. Holík, R. Mayr, and T. Vojnar. 2010. When simulation meets antichains. In Proceedings of the 16th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’10), Lecture Notes in Computer Science, Vol. 6015. Springer, Berlin, 158--174.
[3]
R. Alur, M. Benedikt, K. Etessami, P. Godefroid, T. W. Reps, and M. Yannakakis. 2005. Analysis of recursive state machines. ACM Transactions on Programming Languages and Systems 27, 4, 786--818.
[4]
R. Alur and P. Madhusudan. 2009. Adding nesting structure to words. Journal of the ACM 56, 3, 1--43.
[5]
T. Ball and S. K. Rajamani. 2000. Boolean programs: A model and process for software analysis. Technical Report MSR-TR-2000-14. Microsoft Research.
[6]
S. Breuers, C. Löding, and J. Olschewski. 2012. Improved Ramsey-based Büchi complementation. In Proceedings of the 15th International Conference on Foundations of Software Science and Computational Structures (FOSSACS’12), Lecture Notes in Computer Science, Vol. 7213. Springer, Berlin, 150--164.
[7]
V. Bruyère, M. Ducobu, and O. Gauwin. 2013. Visibly pushdown automata: Universality and inclusion via antichains. In Proceedings of the 7th International Conference on Language and Automata Theory and Applications (LATA’13), Lecture Notes in Computer Science, Vol. 7810. Springer, Berlin, 190--201.
[8]
J. R. Büchi. 1962. On a decision method in restricted second order arithmetic. In Proceedings of the 1960 International Congress on Logic, Method, and Philosophy of Science. Stanford University Press, Stanford, CA. 1--11.
[9]
Y. Choueka. 1974. Theories of automata on ω-tapes: A simplified approach. Journal of Computer Systems and Sciences 8, 2, 117--141.
[10]
C. Dax, M. Hofmann, and M. Lange. 2006. A proof system for the linear time μ-calculus. In Proceedings of the 26th International Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS’06), Lecture Notes in Computer Science, Vol. 4337. Springer, Berlin, 273--284.
[11]
M. De Wulf, L. Doyen, T. A. Henzinger, and J.-F. Raskin. 2006. Antichains: A new algorithm for checking universality of finite automata. In Proceedings of the 18th International Conference on Computer Aided Verification (CAV’06), Lecture Notes in Computer Science, Vol. 4144. Springer, Berlin, 17--30.
[12]
L. Doyen and J.-F. Raskin. 2009. Antichains for the automata-based approach to model-checking. Logical Methods in Computer Science 5, 1:5, 1--20.
[13]
E. Driscoll, A. Burton, and T. Reps. 2011. Checking conformance of a producer and a consumer. In Proceedings of the 19th ACM SIGSOFT Symposium on the Foundations of Software Engineering and the 13rd European Software Engineering Conference (FSE/ESEC’11). ACM Press, 113--123.
[14]
E. Driscoll, A. Thakur, and T. Reps. 2012. OpenNWA: A nested-word-automaton library. In Proceedings of the 24th International Conference on Computer Aided Verification (CAV’12), Lecture Notes in Computer Science, Vol. 7358. Springer, Berlin, 665--671.
[15]
S. Dziembowski, M. Jurdziński, and I. Walukiewicz. 1997. How much memory is needed to win infinite games? In Proceedings of the 12th Symposium on Logic in Computer Science (LICS’97). IEEE Computer Society, 99--110.
[16]
E. A. Emerson and C. S. Jutla. 1991. Tree automata, μ-calculus and determinacy. In Proceedings of the 32nd Symposium on Foundations of Computer Science (FOCS’91). IEEE Computer Society, 368--377.
[17]
S. Fogarty and M. Y. Vardi. 2009. Büchi complementation and size-change termination. In Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’09), Lecture Notes in Computer Science, Vol. 5505. Springer, Berlin, 16--30.
[18]
S. Fogarty and M. Y. Vardi. 2010. Efficient Büchi universality checking. In Proceedings of the 16th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’10), Lecture Notes in Computer Science, Vol. 6015. Springer, Berlin, 205--220.
[19]
O. Friedmann, F. Klaedtke, and M. Lange. 2013. Ramsey goes visibly pushdown. In Proceedings of the 40th International Colloquium on Automata, Languages and Programming (ICALP’13), Lecture Notes in Computer Science, Vol. 7966. Springer, Berlin, 224--237.
[20]
O. Friedmann and M. Lange. 2012. Ramsey-based analysis of parity automata. In Proceedings of the 18th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’12), Lecture Notes in Computer Science, Vol. 7214. Springer, Berlin, 64--78.
[21]
C. Fritz and T. Wilke. 2005. Simulation relations for alternating Büchi automata. Theoretical Computer Science 338, 1--3, 275--314.
[22]
R. Gerth, D. Peled, M. Y. Vardi, and P. Wolper. 1996. Simple on-the-fly automatic verification of linear temporal logic. In Proceedings of the 15th IFIP WG6.1 International Symposium on Protocol Specification, Testing and Verification (PSTV'95), IFIP Conference Proceedings, Vol. 38. Chapman & Hall, London, 3--18.
[23]
M. Heizmann, J. Hoenicke, and A. Podelski. 2010. Nested interpolants. In Proceedings of the 37th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’10). ACM Press, 471--482.
[24]
D. Kähler and T. Wilke. 2008. Complementation, disambiguation, and determinization of Büchi automata unified. In Proceedings of the 35th International Colloquium on Automata, Languages and Programming (ICALP’08), Lecture Notes in Computer Science, Vol. 5125. Springer, Berlin, 724--735.
[25]
S. La Torre, P. Madhusudan, and G. Parlato. 2007. A robust class of context-sensitive languages. In Proceedings of the 22nd Symposium on Logic in Computer Science (LICS’07). IEEE Computer Society, 161--170.
[26]
C. S. Lee, N. D. Jones, and A. M. Ben-Amram. 2001. The size-change principle for program termination. In Proceedings of the 28th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’01). ACM Press, 81--92.
[27]
X. Leroy, D. Doligez, A. Frisch, J. Garrigue, D. Rémy, and J. Vouillon. 2011. The OCaml system (release 3.12): Documentation and user’s manual. Institut National de Recherche en Informatique et en Automatique (INRIA). http://caml.inria.fr.
[28]
C. Löding, P. Madhusudan, and O. Serre. 2004. Visibly pushdown games. In Proceedings of the 24th International Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS’04), Lecture Notes in Computer Science, Vol. 3328. Springer, Berlin, 408--420.
[29]
C. Löding and W. Thomas. 2000. Alternating automata and logics over infinite words. In Proceedings of the IFIP International Conference on Theoretical Computer Science (IFIP TCS’00), Lecture Notes in Computer Science, Vol. 1872. Springer, Berlin, 521--535.
[30]
P. Madhusudan and G. Parlato. 2011. The tree width of auxiliary storage. In Proceedings of the 38th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’11). ACM Press, 283--294.
[31]
K. Mehlhorn. 1980. Pebbling mountain ranges and its application to DCFL-recognition. In Proceedings of the 7th Colloquium on Automata, Languages and Programming (ICALP’80), Lecture Notes in Computer Science, Vol. 85. Springer, Berlin, 422--435.
[32]
M. Michel. 1988. Complementation is more difficult with automata on infinite words. CNET, Paris.
[33]
D. E. Muller and P. E. Schupp. 1987. Alternating automata on infinite trees. Theoretical Computer Science 54, 2--3, 267--276.
[34]
N. Piterman. 2007. From nondeterministic Büchi and Streett automata to deterministic parity automata. Logical Methods in Computer Science 3, 3:5, 1--21.
[35]
M. O. Rabin and D. Scott. 1959. Finite automata and their decision problems. IBM Journal of Research and Development 3, 2, 114--125.
[36]
F. P. Ramsey. 1928. On a problem of formal logic. Proceedings of the London Mathematical Society 30, 264--286.
[37]
S. Schewe. 2009. Tighter bounds for the determinisation of Büchi automata. In Proceedings of the 12th International Conference on Foundations of Software Science and Computation Structures (FOSSACS’09), Lecture Notes in Computer Science, Vol. 5504. Springer, Berlin, 167--181.
[38]
A. P. Sistla, M. Y. Vardi, and P. Wolper. 1987. The complementation problem for Büchi automata with applications to temporal logic. Theoretical Computer Science 49, 2--3, 217--237.
[39]
M.-H. Tsai, S. Fogarty, M. Y. Vardi, and Y.-K. Tsay. 2011. State of Büchi complementation. In Proceedings of the 15th International Conference on Implementation and Application of Automata (CIAA’10), Lecture Notes in Computer Science, Vol. 6482. Springer, Berlin, 261--271.
[40]
M. Y. Vardi. 2007. The Büchi complementation saga. In Proceedings of the 24th Annual Symposium on Theoretical Aspects of Computer Science (STACS’07), Lecture Notes on Computer Science, Vol. 4393. Springer, Berlin, 12--22.
[41]
M. Y. Vardi and P. Wolper. 1986. An automata-theoretic approach to automatic program verification (preliminary report). In Proceedings of the 1st Symposium on Logic in Computer Science (LICS’86). IEEE Computer Society, 332--344.
[42]
M. Y. Vardi and P. Wolper. 1994. Reasoning about infinite computations. Information and Computation 115, 1, 1--37.

Cited By

View all
  • (2023)Antichains Algorithms for the Inclusion Problem Between $$\omega $$-VPLTools and Algorithms for the Construction and Analysis of Systems10.1007/978-3-031-30823-9_15(290-307)Online publication date: 22-Apr-2023

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Computational Logic
ACM Transactions on Computational Logic  Volume 16, Issue 4
November 2015
273 pages
ISSN:1529-3785
EISSN:1557-945X
DOI:10.1145/2802139
  • Editor:
  • Orna Kupferman
Issue’s Table of Contents
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: 26 August 2015
Accepted: 01 May 2015
Revised: 01 March 2015
Received: 01 October 2013
Published in TOCL Volume 16, Issue 4

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Automata over finite and infinite words
  2. decision problems
  3. nested words
  4. verification
  5. visibly pushdown languages

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

  • European Community's 7th Framework Programme (FP7/2007-2013)/ERC

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)7
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Antichains Algorithms for the Inclusion Problem Between $$\omega $$-VPLTools and Algorithms for the Construction and Analysis of Systems10.1007/978-3-031-30823-9_15(290-307)Online publication date: 22-Apr-2023

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media