Fixing the State Budget: Approximation of Regular Languages with Small DFAs
Strings are pervasive in programming, and arguably even more pervasive in web programming. A natural abstraction for reasoning about strings are finite-automata. They are a well-understood formalism, and operations on them are decidable and well-known. But in practice these operations either blow up in size or in cost of operations. Hence the attractive automata representations become impractical. In this paper we propose reasoning about strings using small automata, by restricting the number of states available. We show how we can construct small automata which over-approximate the language specified by a larger automata, using discrete optimization techniques, both complete approaches and incomplete approaches based on greedy search. Small automata provide a strong basis for reasoning about strings in programming, since operations on small automata do not blow up in cost.
- 5.Chu, G.: Improving combinatorial optimization. Ph.D. thesis, Department of Computing and Information Systems, University of Melbourne (2011)Google Scholar
- 7.D’silva, V.: Widening for automata. Diploma thesis, Institut Für Informatik, Universität Zürich (2006)Google Scholar
- 10.Luchaup, D., Carli, L.D., Jha, S., Bach, E.: Deep packet inspection with DFA-trees and parametrized language overapproximation. In: 2014 IEEE Conference on Computer Communications, INFOCOM, pp. 531–539. IEEE (2014)Google Scholar
- 11.Moore, E.F.: Gedanken-experiments on sequential machines. In: Shannon, C., McCarthy, J. (eds.) Automata Studies, pp. 129–153. Princeton University Press, Princeton (1956)Google Scholar