Affiliation:
1. LIP, CNRS, ENS de Lyon, Université de Lyon, INRIA - UMR 5668, Lyon, France
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.
Funder
Agence Nationale de la Recherche
Centre National de la Recherche Scientifique
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
7 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. KATch: A Fast Symbolic Verifier for NetKAT;Proceedings of the ACM on Programming Languages;2024-06-20
2. Derivative Based Nonbacktracking Real-World Regex Matching with Backtracking Semantics;Proceedings of the ACM on Programming Languages;2023-06-06
3. Symbolic Boolean derivatives for efficiently solving extended regular expression constraints;Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation;2021-06-18
4. Specification and inference of trace refinement relations;Proceedings of the ACM on Programming Languages;2019-10-10
5. Completeness and Incompleteness in Nominal Kleene Algebra;Relational and Algebraic Methods in Computer Science;2015