Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Ramsey-Based Inclusion Checking for Visibly Pushdown Automata

Published: 26 August 2015 Publication History
  • Get Citation Alerts
  • 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)12
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 12 Aug 2024

    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

    Get Access

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media