skip to main content
research-article

Symbolic Algorithms for Language Equivalence and Kleene Algebra with Tests

Authors Info & Claims
Published:14 January 2015Publication History
Skip Abstract Section

Abstract

We propose algorithms for checking language equivalence of finite automata over a large alphabet. We use symbolic automata, where the transition function is compactly represented using (multi-terminal) binary decision diagrams (BDD). The key idea consists in computing a bisimulation by exploring reachable pairs symbolically, so as to avoid redundancies. This idea can be combined with already existing optimisations, and we show in particular a nice integration with the disjoint sets forest data-structure from Hopcroft and Karp's standard algorithm.

Then we consider Kleene algebra with tests (KAT), an algebraic theory that can be used for verification in various domains ranging from compiler optimisation to network programming analysis. This theory is decidable by reduction to language equivalence of automata on guarded strings, a particular kind of automata that have exponentially large alphabets. We propose several methods allowing to construct symbolic automata out of KAT expressions, based either on Brzozowski's derivatives or on standard automata constructions.

All in all, this results in efficient algorithms for deciding equivalence of KAT expressions.

Skip Supplemental Material Section

Supplemental Material

p357-sidebyside.mpg

References

  1. P. A. Abdulla, Y.-F. Chen, L. Holík, R. Mayr, and T. Vojnar. When simulation meets antichains. In Proc. TACAS, volume 6015 of Lecture Notes in Computer Science, pages 158--174. Springer Verlag, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. C. J. Anderson, N. Foster, A. Guha, J.-B. Jeannin, D. Kozen, C. Schlesinger, and D. Walker. Netkat: semantic foundations for networks. In Proc. POPL, pages 113--126. ACM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. A. Angus and D. Kozen. Kleene algebra with tests and program schematology. Technical Report TR2001--1844, CS Dpt., Cornell University, July 2001. Google ScholarGoogle Scholar
  4. V. M. Antimirov. Partial derivatives of regular expressions and finite automaton constructions. Theoretical Computer Science, 155(2):291--319, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. L. Bloom, Z. Ésik, and G. Stefanescu. Notes on equational theories of relations. Algebra Universalis, 33(1):98--126, 1995.Google ScholarGoogle ScholarCross RefCross Ref
  6. F. Bonchi and D. Pous. Checking NFA equivalence with bisimulations up to congruence. In Proc. POPL, pages 457--468. ACM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. A. Bouajjani, P. Habermehl, and T. Vojnar. Abstract regular model checking. In Proc. CAV, volume 3114 of Lecture Notes in Computer Science, pages 372--386. Springer Verlag, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  8. A. Brüggemann-Klein. Regular expressions into finite automata. Theoretical Computer Science, 120(2):197--213, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. R. E. Bryant. Graph-based algorithms for boolean function manipulation. IEEE Trans. Computers, 35(8):677--691, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. R. E. Bryant. Symbolic Boolean manipulation with ordered binary- decision diagrams. ACM Computing Surveys, 24(3):293--318, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. A. Brzozowski. Derivatives of regular expressions. Journal of the ACM, 11(4):481--494, 1964. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. E. Cohen, D. Kozen, and F. Smith. The complexity of Kleene algebra with tests. Technical Report TR96--1598, CS Dpt., Cornell University, 1996. Google ScholarGoogle Scholar
  13. L. D'Antoni and M. Veanes. Minimization of symbolic automata. In POPL, pages 541--554. ACM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. L. Doyen and J.-F. Raskin. Antichain Algorithms for Finite Automata. In Proc. TACAS, volume 6015 of Lecture Notes in Computer Science. Springer Verlag, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Z. Ésik and L. Bernátsky. Equational properties of Kleene algebras of relations with conversion. Theoretical Computer Science, 137(2):237--251, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. J.-C. Filliâtre and S. Conchon. Type-safe modular hash-consing. In ML, pages 12--19. ACM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. N. Foster, D. Kozen, M. Milano, A. Silva, and L. Thompson. A coalgebraic decision procedure for NetKAT. In Proc. POPL. ACM, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. A. Goel, S. Khanna, D. Larkin, and R. E. Tarjan. Disjoint set union with randomized linking. In Proc. SODA, pages 1005--1017. SIAM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. N. B. B. Grathwohl, D. Kozen, and K. Mamouras. KAT + B! In Proc. CSL-LICS. ACM, July 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J. G. Henriksen, J. L. Jensen, M. E. Jørgensen, N. Klarlund, R. Paige, T. Rauhe, and A. Sandholm. Mona: Monadic second-order logic in practice. In TACAS, volume 1019 of Lecture Notes in Computer Science, pages 89--110. Springer Verlag, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. P. Höfner and B. Möller. Dijkstra, Floyd and Warshall meet Kleene. Formal Aspects of Computing, 24(4--6):459--476, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. J. E. Hopcroft. An n log n algorithm for minimizing states in a finite automaton. Technical report, Stanford University, 1971. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. J. E. Hopcroft and R. M. Karp. A linear algorithm for testing equivalence of finite automata. Technical Report 114, Cornell University, December 1971.Google ScholarGoogle Scholar
  24. G. Huet. Résolution d'équations dans les langages d'ordre 1,2, ... ,?. PhD thesis, Université Paris VII, 1976. Thèse d'État.Google ScholarGoogle Scholar
  25. L. Ilie and S. Yu. Follow automata. Information and Computation, 186(1):140--162, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. D. Kozen. A completeness theorem for Kleene algebras and the algebra of regular events. Information and Computation, 110(2):366--390, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. D. Kozen. Kleene algebra with tests. Transactions on Programming Languages and Systems, 19(3):427--443, May 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. D. Kozen. On the coalgebraic theory of Kleene algebra with tests. Technical report, CIS, Cornell University, March 2008.Google ScholarGoogle Scholar
  29. D. Kozen and M.-C. Patron. Certification of compiler optimizations using Kleene algebra with tests. In Proc. CL2000, volume 1861 of Lecture Notes in Artificial Intelligence, pages 568--582. Springer Verlag, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. D. Kozen and F. Smith. Kleene algebra with tests: Completeness and decidability. In Proc. CSL, volume 1258 of Lecture Notes in Computer Science, pages 244--259. Springer Verlag, September 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. E. F. Moore. Gedanken-experiments on sequential machines. Automata Studies, Annals of Mathematical Studies, 34:129--153, 1956.Google ScholarGoogle Scholar
  32. R. Paige and R. E. Tarjan. Three partition refinement algorithms. SIAM Journal on Computing, 16(6):973--989, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. F. Pottier and D. Rémy. Advanced Topics in Types and Programming Languages, chapter The Essence of ML Type Inference. MIT Press, 2004.Google ScholarGoogle Scholar
  34. D. Pous. Kleene Algebra with Tests and Coq tools for while programs. In Proc. ITP, volume 7998 of Lecture Notes in Computer Science, pages 180--196. Springer Verlag, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. D. Pous. Web appendix to this paper, with Ocaml implementation of the proposed algorithms, 2014. http://perso.ens-lyon.fr/damien.pous/symbolickat.Google ScholarGoogle Scholar
  36. D. Pous and D. Sangiorgi. Advanced Topics in Bisimulation and Coinduction, chapter about "Enhancements of the coinductive proof method". Cambridge University Press, 2011.Google ScholarGoogle Scholar
  37. D. Rémy. Algèbres Touffues. Application au Typage Polymorphe des Objets Enregistrements dans les Langages Fonctionnels. PhD thesis, Université Paris VII, 1990. Thèse de doctorat.Google ScholarGoogle Scholar
  38. D. Rémy. Extension of ML type system with a sorted equational theory on types, 1992. Research Report 1766.Google ScholarGoogle Scholar
  39. D. Sangiorgi. On the bisimulation proof method. Mathematical Structures in Computer Science, 8:447--479, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. R. E. Tarjan. Efficiency of a good but not linear set union algorithm. Journal of the ACM, 22(2):215--225, 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. M. Veanes. Applications of symbolic finite automata. In CIAA, volume 7982 of Lecture Notes in Computer Science, pages 16--23. Springer Verlag, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. M. D. Wulf, L. Doyen, T. A. Henzinger, and J.-F. Raskin. Antichains: A new algorithm for checking universality of finite automata. In Proc. CAV, volume 4144 of Lecture Notes in Computer Science, pages 17--30. Springer Verlag, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Symbolic Algorithms for Language Equivalence and Kleene Algebra with Tests

              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

              Full Access

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader
              About Cookies On This Site

              We use cookies to ensure that we give you the best experience on our website.

              Learn more

              Got it!