Skip to main content

Language Inclusion Algorithms as Complete Abstract Interpretations

  • Conference paper
  • First Online:
Static Analysis (SAS 2019)

Abstract

We study the language inclusion problem \(L_1 \subseteq L_2\) where \(L_1\) is regular. Our approach relies on abstract interpretation and checks whether an overapproximating abstraction of \(L_1\), obtained by successively overapproximating the Kleene iterates of its least fixpoint characterization, is included in \(L_2\). We show that a language inclusion problem is decidable whenever this overapproximating abstraction satisfies a completeness condition (i.e. its loss of precision causes no false alarm) and prevents infinite ascending chains (i.e. it guarantees termination of least fixpoint computations). Such overapproximating abstraction function on languages can be defined using quasiorder relations on words where the abstraction gives the language of all words “greater than or equal to” a given input word for that quasiorder. We put forward a range of quasiorders that allow us to systematically design decision procedures for different language inclusion problems such as regular languages into regular languages or into trace sets of one-counter nets. In the case of inclusion between regular languages, some of the induced inclusion checking procedures correspond to well-known state-of-the-art algorithms like the so-called antichain algorithms. Finally, we provide an equivalent greatest fixpoint language inclusion check which relies on quotients of languages and, to the best of our knowledge, was not previously known.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Sketch: Given \(\mathcal {A}_1=(Q_1,\delta _1,I_1,F_1,\varSigma )\) and \(\mathcal {A}_2=(Q_2,\delta _2,I_2,F_2,\varSigma )\) define \(\mathcal {A}_3=(Q_1\cup Q_2\cup \{q^{\dag }\}, \delta _3, \{q^{\dag }\}, F_1\cup F_2)\) where \(\delta _3 \) maps \((q^\dag ,a)\) to \(I_1\), \( (q^\dag ,b) \) to \(I_2\) and like \(\delta _1\) or \(\delta _2\) elsewhere. Then, it turns out that \(a \leqq ^r_{{\mathcal {L}(\mathcal {A}_3)}} b \Leftrightarrow a^{-1}{\mathcal {L}(\mathcal {A}_3)} \subseteq b^{-1}{\mathcal {L}(\mathcal {A}_3)} \Leftrightarrow {\mathcal {L}(\mathcal {A}_1)}\subseteq {\mathcal {L}(\mathcal {A}_2)}\).

References

  1. Abdulla, P.A., Cerans, K., Jonsson, B., Tsay, Y.-K.: General decidability theorems for infinite-state systems. In: Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science (LICS 1996), pp. 313–321. IEEE Computer Society (1996)

    Google Scholar 

  2. Abdulla, P.A., Chen, Y.-F., Holík, L., Mayr, R., Vojnar, T.: When simulation meets antichains. In: Esparza, J., Majumdar, R. (eds.) TACAS 2010. LNCS, vol. 6015, pp. 158–174. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-12002-2_14

    Chapter  MATH  Google Scholar 

  3. Bonchi, F., Ganty, P., Giacobazzi, R., Pavlovic, D.: Sound up-to techniques and complete abstract domains. In: Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science (LICS 2018). ACM Press (2018)

    Google Scholar 

  4. Bonchi, F., Pous, D.: Checking NFA equivalence with bisimulations up to congruence. In: Proceedings of the 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2013), pp. 457–468. ACM Press (2013)

    Google Scholar 

  5. Cousot, P.: Partial completeness of abstract fixpoint checking. In: Choueiry, B.Y., Walsh, T. (eds.) SARA 2000. LNCS (LNAI), vol. 1864, pp. 1–25. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-44914-0_1

    Chapter  Google Scholar 

  6. Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Proceedings of the 4th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL 1977), pp. 238–252. ACM Press (1977)

    Google Scholar 

  7. Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: Proceedings of the 6th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL 1979), pp. 269–282. ACM, New York (1979)

    Google Scholar 

  8. de Luca, A., Varricchio, S.: Well quasi-orders and regular languages. Acta Informatica 31(6), 539–557 (1994)

    Article  MathSciNet  Google Scholar 

  9. de Luca, A., Varricchio, S.: Finiteness and Regularity in Semigroups and Formal Languages. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-59849-4

    Book  MATH  Google Scholar 

  10. De Wulf, M., Doyen, L., Henzinger, T.A., Raskin, J.-F.: Antichains: a new algorithm for checking universality of finite automata. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 17–30. Springer, Heidelberg (2006). https://doi.org/10.1007/11817963_5

    Chapter  Google Scholar 

  11. Ehrenfeucht, A., Haussler, D., Rozenberg, G.: On regularity of context-free languages. Theor. Comput. Sci. 27(3), 311–332 (1983)

    Article  MathSciNet  Google Scholar 

  12. Fiedor, T., Holík, L., Lengál, O., Vojnar, T.: Nested antichains for WS1S. Acta Informatica 56(3), 205–228 (2019)

    MathSciNet  MATH  Google Scholar 

  13. Finkel, A., Schnoebelen, P.: Well-structured transition systems everywhere!. Theor. Comput. Sci. 256(1–2), 63–92 (2001)

    Article  MathSciNet  Google Scholar 

  14. Ganty, P., Ranzato, F., Valero, P.: Complete abstractions for checking language inclusion. arXiv e-prints, arXiv:1904.01388, April 2019

  15. Giacobazzi, R., Quintarelli, E.: Incompleteness, counterexamples, and refinements in abstract model-checking. In: Cousot, P. (ed.) SAS 2001. LNCS, vol. 2126, pp. 356–373. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-47764-0_20

    Chapter  Google Scholar 

  16. Giacobazzi, R., Ranzato, F., Scozzari, F.: Making abstract interpretations complete. J. ACM 47(2), 361–416 (2000)

    Article  MathSciNet  Google Scholar 

  17. Hofman, P., Totzke, P.: Trace inclusion for one-counter nets revisited. Theor. Comput. Sci. 735, 50–63 (2018)

    Article  MathSciNet  Google Scholar 

  18. Hofmann, M., Chen, W.: Abstract interpretation from Büchi automata. In: Proceedings of the Joint Meeting of the Twenty-Third EACSL Annual Conference on Computer Science Logic (CSL 2014) and the Twenty-Ninth Annual ACM/IEEE Symposium on Logic in Computer Science (LICS 2014). ACM Press (2014)

    Google Scholar 

  19. Janc̆ar, P., Esparza, J., Moller, F.: Petri nets and regular processes. J. Comput. Syst. Sci. 59(3), 476–503 (1999)

    Google Scholar 

  20. Kozen, D.: On the Myhill-Nerode theorem for trees. Bull. EATCS 47, 170–173 (1992)

    MATH  Google Scholar 

  21. Ogawa, M.: Well-quasi-orders and regular \(\omega \)-languages. Theor. Comput. Sci. 324(1), 55–60 (2004)

    Article  MathSciNet  Google Scholar 

  22. Park, D.: Fixpoint induction and proofs of program properties. Mach. Intell. 5, 59–78 (1969)

    MATH  Google Scholar 

  23. Ranzato, F.: Complete abstractions everywhere. In: Giacobazzi, R., Berdine, J., Mastroeni, I. (eds.) VMCAI 2013. LNCS, vol. 7737, pp. 15–26. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35873-9_3

    Chapter  Google Scholar 

  24. Schützenberger, M.P.: On context-free languages and push-down automata. Inf. Control 6(3), 246–264 (1963)

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgements

We would like to thank the reviewers for their insightful feedback that allowed us to find a simpler connection between our work and the antichain algorithms. Pierre Ganty completed this work with the support of the Spanish Ministry of Economy and Competitiveness project No. PGC2018-102210-B-I00, the Madrid Regional Government project No. S2018/TCS-4339 and the Ramón y Cajal fellowship RYC-2016-20281. The work of Francesco Ranzato has been partially funded by the University of Padova, SID2018 project “Analysis of STatic Analyses (ASTA)”, and by the Italian Ministry of Research MIUR, project No. 201784YSZ5 “AnalysiS of PRogram Analyses (ASPRA)”.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pedro Valero .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Ganty, P., Ranzato, F., Valero, P. (2019). Language Inclusion Algorithms as Complete Abstract Interpretations. In: Chang, BY. (eds) Static Analysis. SAS 2019. Lecture Notes in Computer Science(), vol 11822. Springer, Cham. https://doi.org/10.1007/978-3-030-32304-2_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-32304-2_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-32303-5

  • Online ISBN: 978-3-030-32304-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics