Advertisement

Language Inclusion Algorithms as Complete Abstract Interpretations

  • Pierre Ganty
  • Francesco Ranzato
  • Pedro ValeroEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11822)

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.

Notes

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)”.

References

  1. 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. 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_14CrossRefzbMATHGoogle Scholar
  3. 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. 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. 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_1CrossRefGoogle Scholar
  6. 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. 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. 8.
    de Luca, A., Varricchio, S.: Well quasi-orders and regular languages. Acta Informatica 31(6), 539–557 (1994)MathSciNetCrossRefGoogle Scholar
  9. 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-4CrossRefzbMATHGoogle Scholar
  10. 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_5CrossRefGoogle Scholar
  11. 11.
    Ehrenfeucht, A., Haussler, D., Rozenberg, G.: On regularity of context-free languages. Theor. Comput. Sci. 27(3), 311–332 (1983)MathSciNetCrossRefGoogle Scholar
  12. 12.
    Fiedor, T., Holík, L., Lengál, O., Vojnar, T.: Nested antichains for WS1S. Acta Informatica 56(3), 205–228 (2019)MathSciNetzbMATHGoogle Scholar
  13. 13.
    Finkel, A., Schnoebelen, P.: Well-structured transition systems everywhere!. Theor. Comput. Sci. 256(1–2), 63–92 (2001)MathSciNetCrossRefGoogle Scholar
  14. 14.
    Ganty, P., Ranzato, F., Valero, P.: Complete abstractions for checking language inclusion. arXiv e-prints, arXiv:1904.01388, April 2019
  15. 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_20CrossRefGoogle Scholar
  16. 16.
    Giacobazzi, R., Ranzato, F., Scozzari, F.: Making abstract interpretations complete. J. ACM 47(2), 361–416 (2000)MathSciNetCrossRefGoogle Scholar
  17. 17.
    Hofman, P., Totzke, P.: Trace inclusion for one-counter nets revisited. Theor. Comput. Sci. 735, 50–63 (2018)MathSciNetCrossRefGoogle Scholar
  18. 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. 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. 20.
    Kozen, D.: On the Myhill-Nerode theorem for trees. Bull. EATCS 47, 170–173 (1992)zbMATHGoogle Scholar
  21. 21.
    Ogawa, M.: Well-quasi-orders and regular \(\omega \)-languages. Theor. Comput. Sci. 324(1), 55–60 (2004)MathSciNetCrossRefGoogle Scholar
  22. 22.
    Park, D.: Fixpoint induction and proofs of program properties. Mach. Intell. 5, 59–78 (1969)zbMATHGoogle Scholar
  23. 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 CrossRefGoogle Scholar
  24. 24.
    Schützenberger, M.P.: On context-free languages and push-down automata. Inf. Control 6(3), 246–264 (1963)MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.IMDEA Software InstituteMadridSpain
  2. 2.Dipartimento di MatematicaUniversity of PadovaPadovaItaly
  3. 3.Universidad Politécnica de MadridMadridSpain

Personalised recommendations