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.
Supplemental Material
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- A. Angus and D. Kozen. Kleene algebra with tests and program schematology. Technical Report TR2001--1844, CS Dpt., Cornell University, July 2001. Google Scholar
- V. M. Antimirov. Partial derivatives of regular expressions and finite automaton constructions. Theoretical Computer Science, 155(2):291--319, 1996. Google Scholar
Digital Library
- S. L. Bloom, Z. Ésik, and G. Stefanescu. Notes on equational theories of relations. Algebra Universalis, 33(1):98--126, 1995.Google Scholar
Cross Ref
- F. Bonchi and D. Pous. Checking NFA equivalence with bisimulations up to congruence. In Proc. POPL, pages 457--468. ACM, 2013. Google Scholar
Digital Library
- 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 Scholar
Cross Ref
- A. Brüggemann-Klein. Regular expressions into finite automata. Theoretical Computer Science, 120(2):197--213, 1993. Google Scholar
Digital Library
- R. E. Bryant. Graph-based algorithms for boolean function manipulation. IEEE Trans. Computers, 35(8):677--691, 1986. Google Scholar
Digital Library
- R. E. Bryant. Symbolic Boolean manipulation with ordered binary- decision diagrams. ACM Computing Surveys, 24(3):293--318, 1992. Google Scholar
Digital Library
- J. A. Brzozowski. Derivatives of regular expressions. Journal of the ACM, 11(4):481--494, 1964. Google Scholar
Digital Library
- E. Cohen, D. Kozen, and F. Smith. The complexity of Kleene algebra with tests. Technical Report TR96--1598, CS Dpt., Cornell University, 1996. Google Scholar
- L. D'Antoni and M. Veanes. Minimization of symbolic automata. In POPL, pages 541--554. ACM, 2014. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- Z. Ésik and L. Bernátsky. Equational properties of Kleene algebras of relations with conversion. Theoretical Computer Science, 137(2):237--251, 1995. Google Scholar
Digital Library
- J.-C. Filliâtre and S. Conchon. Type-safe modular hash-consing. In ML, pages 12--19. ACM, 2006. Google Scholar
Digital Library
- N. Foster, D. Kozen, M. Milano, A. Silva, and L. Thompson. A coalgebraic decision procedure for NetKAT. In Proc. POPL. ACM, 2015. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- N. B. B. Grathwohl, D. Kozen, and K. Mamouras. KAT + B! In Proc. CSL-LICS. ACM, July 2014. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- P. Höfner and B. Möller. Dijkstra, Floyd and Warshall meet Kleene. Formal Aspects of Computing, 24(4--6):459--476, 2012. Google Scholar
Digital Library
- J. E. Hopcroft. An n log n algorithm for minimizing states in a finite automaton. Technical report, Stanford University, 1971. Google Scholar
Digital Library
- J. E. Hopcroft and R. M. Karp. A linear algorithm for testing equivalence of finite automata. Technical Report 114, Cornell University, December 1971.Google Scholar
- G. Huet. Résolution d'équations dans les langages d'ordre 1,2, ... ,?. PhD thesis, Université Paris VII, 1976. Thèse d'État.Google Scholar
- L. Ilie and S. Yu. Follow automata. Information and Computation, 186(1):140--162, 2003. Google Scholar
Digital Library
- D. Kozen. A completeness theorem for Kleene algebras and the algebra of regular events. Information and Computation, 110(2):366--390, 1994. Google Scholar
Digital Library
- D. Kozen. Kleene algebra with tests. Transactions on Programming Languages and Systems, 19(3):427--443, May 1997. Google Scholar
Digital Library
- D. Kozen. On the coalgebraic theory of Kleene algebra with tests. Technical report, CIS, Cornell University, March 2008.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- E. F. Moore. Gedanken-experiments on sequential machines. Automata Studies, Annals of Mathematical Studies, 34:129--153, 1956.Google Scholar
- R. Paige and R. E. Tarjan. Three partition refinement algorithms. SIAM Journal on Computing, 16(6):973--989, 1987. Google Scholar
Digital Library
- F. Pottier and D. Rémy. Advanced Topics in Types and Programming Languages, chapter The Essence of ML Type Inference. MIT Press, 2004.Google Scholar
- 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 Scholar
Digital Library
- D. Pous. Web appendix to this paper, with Ocaml implementation of the proposed algorithms, 2014. http://perso.ens-lyon.fr/damien.pous/symbolickat.Google Scholar
- D. Pous and D. Sangiorgi. Advanced Topics in Bisimulation and Coinduction, chapter about "Enhancements of the coinductive proof method". Cambridge University Press, 2011.Google Scholar
- 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 Scholar
- D. Rémy. Extension of ML type system with a sorted equational theory on types, 1992. Research Report 1766.Google Scholar
- D. Sangiorgi. On the bisimulation proof method. Mathematical Structures in Computer Science, 8:447--479, 1998. Google Scholar
Digital Library
- R. E. Tarjan. Efficiency of a good but not linear set union algorithm. Journal of the ACM, 22(2):215--225, 1975. Google Scholar
Digital Library
- M. Veanes. Applications of symbolic finite automata. In CIAA, volume 7982 of Lecture Notes in Computer Science, pages 16--23. Springer Verlag, 2013. Google Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
Symbolic Algorithms for Language Equivalence and Kleene Algebra with Tests
Recommendations
Symbolic Algorithms for Language Equivalence and Kleene Algebra with Tests
POPL '15: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesWe 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 ...
Minimization of symbolic automata
POPL '14: Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesSymbolic Automata extend classical automata by using symbolic alphabets instead of finite ones. Most of the classical automata algorithms rely on the alphabet being finite, and generalizing them to the symbolic setting is not a trivial task. In this ...
Guarded Kleene algebra with tests: verification of uninterpreted programs in nearly linear time
Guarded Kleene Algebra with Tests (GKAT) is a variation on Kleene Algebra with Tests (KAT) that arises by restricting the union (+) and iteration (*) operations from KAT to predicate-guarded versions. We develop the (co)algebraic theory of GKAT and show ...







Comments