Abstract
Symbolic 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 paper we study the problem of minimizing symbolic automata. We formally define and prove the basic properties of minimality in the symbolic setting, and lift classical minimization algorithms (Huffman-Moore's and Hopcroft's algorithms) to symbolic automata. While Hopcroft's algorithm is the fastest known algorithm for DFA minimization, we show how, in the presence of symbolic alphabets, it can incur an exponential blowup. To address this issue, we introduce a new algorithm that fully benefits from the symbolic representation of the alphabet and does not suffer from the exponential blowup. We provide comprehensive performance evaluation of all the algorithms over large benchmarks and against existing state-of-the-art implementations. The experiments show how the new symbolic algorithm is faster than previous implementations.
Supplemental Material
- BRICS finite state automata utilities. http://www.brics.dk/automaton/.Google Scholar
- J. Almeida and M. Zeitoun. Description and analysis of a bottomup DFA minimization algorithm. Information Processing Letters, 107(2):52--59, 2008. Google Scholar
Digital Library
- M. Almeida, N.Moreira, and R. Reis. On the performance of automata minimization algorithms. Technical Report DCC-2007-03, University of Porto, 2007.Google Scholar
- D. Angluin. Learning regular sets from queries and counterexamples. Inf. Comput., 75(2):87--106, 1987. Google Scholar
Digital Library
- M.-P. Béal and M. Crochemore. Minimizing incomplete automata. In Finite-State Methods and Natural Language Processing, 7th International Workshop, pages 9--16, 2008.Google Scholar
- J. Berstel, L. Boasson, and O. Carton. Hopcroft's automaton minimization algorithm and Sturmian words. In DMTCS'2008, pages 355--366, 2008.Google Scholar
- J. Berstel, L. Boasson, O. Carton, and I. Fagnot. Minimization of automata. To appear in Handbook of Automata, 2011.Google Scholar
- J. Berstel and O. Carton. On the complexity of Hopcroft's state minimization algorithm. In CIAA'2004, volume 3317, pages 35--44, 2004. Google Scholar
Digital Library
- N. Bjørner, V. Ganesh, R. Michel, and M. Veanes. An SMT-LIB format for sequences and regular expressions. In P. Fontaine and A. Goel, editors, SMT'12, pages 76--86, 2012.Google Scholar
- N. Blum. An 0(n log n) implementation of the standard method for minimizing n-state finite automata. Information Processing Letters, 57:65--69, 1996. Google Scholar
Digital Library
- M. Bojaczyk and S. Lasota. A machine-independent characterization of timed languages. In A. Czumaj, K. Mehlhorn, A. Pitts, and R.Wattenhofer, editors, Automata, Languages, and Programming, volume 7392 of LNCS, pages 92--103. Springer Berlin Heidelberg, 2012. Google Scholar
Digital Library
- M. Botinčan and D. Babiū. Sigma*: symbolic learning of input-output specifications. In POPL'13, pages 443--456, New York, NY, USA, 2013. ACM. Google Scholar
Digital Library
- J. A. Brzozowski. Canonical regular expressions and minimal state graphs for definite events. In Proc. Sympos. Math. Theory of Automata, pages 529--561, New York, 1963.Google Scholar
- D. Bustan. Modular minimization of deterministic finite-state machines. In In 6th International Workshop on Formal Methods for Industrial Critical Systems, pages 163--178, 2001.Google Scholar
- R. C. Carrasco and M. L. Forcada. Incremental construction and maintenance of minimal finite-state automata. Comput. Linguist., 28(2):207--216, June 2002. Google Scholar
Digital Library
- S. Cassel, B. Jonsson, F. Howar, and B. Steffen. A succinct canonical register automaton model for data domains with binary relations. In S. Chakraborty and M. Mukund, editors, ATVA 2012, volume 7561 of LNCS, pages 57--71. Springer, 2012. Google Scholar
Digital Library
- L. D'Antoni and M. Veanes. Equivalence of extended symbolic finite transducers. In N. Sharygina and H. Veith, editors, CAV 2013, volume 8044 of LNCS, pages 624--639. Springer, 2013. Google Scholar
Digital Library
- L. D'Antoni, M. Veanes, B. Livshits, and D. Molnar. Fast: A transducer-based language for tree manipulation. Technical Report MSR-TR-2012--123, Microsoft Research, November 2012.Google Scholar
- L. de Moura and N. Bjørner. Z3: An Efficient SMT Solver. In TACAS'08, LNCS. Springer, 2008. Google Scholar
Digital Library
- M. Droste,W. Kuich, and H. Vogler. Handbook of Weighted Automata. Springer Publishing Company, Incorporated, 1st edition, 2009. Google Scholar
Digital Library
- P. Gawrychowski, A. Jež, and A. Maletti. On minimising automata with errors. In MFCS'11, pages 327--338, Berlin, Heidelberg, 2011. Springer. Google Scholar
Digital Library
- J. Henriksen, J. Jensen,M. Jørgensen, N. Klarlund, B. Paige, T. Rauhe, and A. Sandholm. Mona: Monadic second-order logic in practice. In TACAS '95, volume 1019 of LNCS. Springer, 1995. Google Scholar
Digital Library
- M. Holzer and S. Jakobi. From equivalence to almost-equivalence, and beyond -- minimizing automata with errors. In H.-C. Yen and O. Ibarra, editors, Developments in Language Theory, volume 7410 of LNCS, pages 190--201. Springer, 2012. Google Scholar
Digital Library
- M. Holzer and A. Maletti. An nlogn algorithm for hyper-minimizing a (minimized) deterministic automaton. Theor. Comput. Sci., 411(38--39):3404--3413, 2010. Google Scholar
Digital Library
- P. Hooimeijer, B. Livshits, D. Molnar, P. Saxena, and M. Veanes. Fast and precise sanitizer analysis with Bek. In USENIX Security, August 2011. Google Scholar
Digital Library
- P. Hooimeijer and M. Veanes. An evaluation of automata algorithms for string analysis. In VMCAI'11, volume 6538 of LNCS, pages 248--262. Springer, 2011. Google Scholar
Digital Library
- J. Hopcroft. An nlogn algorithm for minimizing states in a finite automaton. In Z. Kohavi, editor, Theory of machines and computations, Proc. Internat. Sympos., Technion, Haifa, 1971, pages 189--196, New York, 1971. Academic Press.Google Scholar
Cross Ref
- J. E. Hopcroft and J. D. Ullman. Introduction to Automata Theory, Languages, and Computation. Addison Wesley, 1979. Google Scholar
Digital Library
- D. Huffman. The synthesis of sequential switching circuits. Journal of the Franklin Institute, 257(3-4):161--190,275--303, 1954.Google Scholar
Cross Ref
- N. Klarlund, A. Møller, and M. I. Schwartzbach. MONA implementation secrets. International Journal of Foundations of Computer Science, 13(4):571--586, 2002.Google Scholar
Digital Library
- T. Knuutila. Re-describing an algorithm by Hopcroft. Theor. Comput. Sci., 250(1--2):333--363, 2001. Google Scholar
Digital Library
- S. L. Krivol. Algorithms for minimization of finite acyclic automata and pattern matching in terms. Cybernetics, 27:324--331, 1991.Google Scholar
Cross Ref
- R. Mayr and L. Clemente. Advanced automata minimization. In POPL'13, pages 63--74, 2013. Google Scholar
Digital Library
- E. F. Moore. Gedanken-experiments on sequential machines. Automata studies, Annals of mathematics studies, (34):129--153, 1956.Google Scholar
- A. Restivo and R. Vaglica. Some remarks on automata minimality. In G. Mauri and A. Leporati, editors, DLT'2011, volume 6795 of LNCS, pages 15--27. Springer, 2011. Google Scholar
Digital Library
- D. Revuz. Minimisation of acyclic deterministic automata in linear time. Theoret. Comput. Sci., 92:181--189, 1992. Google Scholar
Digital Library
- A. Tewari, U. Srivastava, and P. Gupta. A parallel DFA minimization algorithm. In HiPC 2002, volume 2552 of LNCS, pages 34--40. Springer, 2002. Google Scholar
Digital Library
- W. Thomas. Languages, automata, and logic. In Handbook of Formal Languages, pages 389--455. Springer, 1996. Google Scholar
Digital Library
- A. Valmari. Fast brief practical DFA minimization. Information Processing Letters, 112:213--217, 2012. Google Scholar
Digital Library
- A. Valmari and P. Lehtinen. Efficient minimization of DFAs with partial transition functions. In S. Albers and P. Weil, editors, STACS 2008, pages 645--656, Dagstuhl, 2008.Google Scholar
- G. van Noord and D. Gerdemann. Finite state transducers with predicates and identities. Grammars, 4(3):263--286, 2001.Google Scholar
Cross Ref
- M. Veanes, N. Bjørner, and L. de Moura. Symbolic automata constraint solving. In C. Fermüller and A. Voronkov, editors, LPAR-17, volume 6397 of LNCS/ARCoSS, pages 640--654. Springer, 2010. Google Scholar
Digital Library
- M. Veanes, P. de Halleux, and N. Tillmann. Rex: Symbolic regular expression explorer. In ICST'10, pages 498--507. IEEE, 2010. Google Scholar
Digital Library
- M. Veanes, P. Hooimeijer, B. Livshits, D. Molnar, and N. Bjørner. Symbolic finite state transducers: Algorithms and applications. In POPL'12, pages 137--150, 2012. Google Scholar
Digital Library
- B. W. Watson. A taxonomy of finite automata minimization algorithms. Computing Science Report 93/44, Eindhoven University of Technology, January 1995.Google Scholar
- B. W. Watson. Implementing and using finite automata toolkits. In Extended finite state models of language, pages 19--36, New York, NY, USA, 1999. Cambridge University Press. Google Scholar
Digital Library
- B. W.Watson and J. Daciuk. An efficient incremental DFA minimization algorithm. Nat. Lang. Eng., 9(1):49--64, Mar. 2003. Google Scholar
Digital Library
Index Terms
Minimization of symbolic automata
Recommendations
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 ...
Extended symbolic finite automata and transducers
Symbolic finite automata and transducers augment classic automata and transducers with symbolic alphabets represented as parametric theories. This extension enables to succinctly represent large and potentially infinite alphabets while preserving ...
Symbolic Visibly Pushdown Automata
Proceedings of the 16th International Conference on Computer Aided Verification - Volume 8559Nested words model data with both linear and hierarchical structure such as XML documents and program traces. A nested word is a sequence of positions together with a matching relation that connects open tags (calls) with the corresponding close tags (...







Comments