Formal Methods in System Design

, Volume 47, Issue 1, pp 93–119 | Cite as

Extended symbolic finite automata and transducers

  • Loris D’AntoniEmail author
  • Margus Veanes


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 closure and decidability properties. Extended symbolic finite automata and transducers further extend these objects by allowing transitions to read consecutive input elements in a single step. In this paper we study the properties of these models. In contrast to the case of finite alphabets, we show how reading multiple symbols increases the expressiveness of the models, which causes some closure properties to stop holding and most decision problems to become undecidable. In particular we show how extended symbolic finite transducers are not closed under composition, and the equivalence problem is undecidable for both extended symbolic finite automata and transducers. We then introduce the subclass of Cartesian extended symbolic finite transducers in which guards are limited to conjunctions of unary predicates and we propose an equivalence algorithm for this subclass in the single-valued case. We also present a heuristic algorithm for composing extended symbolic finite transducers that works for many practical cases. Finally, we model real world programs with Cartesian extended symbolic finite transducers and use the proposed algorithms to prove their correctness.


Symbolic automata Symbolic transducers Equivalence String encoders 



Loris D’Antoni’s research was supported by National Science Foundation Expeditions in Computing award CCF 1138996.


  1. 1.
    Alur R, Cerný P (2011) Streaming transducers for algorithmic verification of single-pass list-processing programs. In: POPL’11, ACM, pp 599–610Google Scholar
  2. 2.
    Botincan M, Babic D (2013) Sigma*: symbolic learning of input-output specifications. In: POPL’13, ACM, pp 443–456Google Scholar
  3. 3.
    Culic K, Karhumäki J (1986) The equivalence of finite-valued transducers (on HDTOL languages) is decidable. Theor Comput Sci 47:71–84CrossRefGoogle Scholar
  4. 4.
    D’Antoni L, Alur R (2014) Symbolic visibly pushdown automata. In: Biere A, Bloem R (eds) Computer aided verification, vol 8559. Lecture notes in computer science. Springer, New York, pp 209–225. doi: 10.1007/978-3-319-08867-9-14
  5. 5.
    D’Antoni L, Veanes M (2013) Equivalence of extended symbolic finite transducers. In: Proceedings of the 25th international conference on computer aided verification, CAV’13, Springer, Berlin, pp 624–639. doi: 10.1007/978-3-642-39799-8_41
  6. 6.
    D’Antoni L, Veanes M (2013) Static analysis of string encoders and decoders. In: Giacobazzi R, Berdine J, Mastroeni I (eds) VMCAI, LNCS, vol 7737, Springer, pp 209–228Google Scholar
  7. 7.
    D’Antoni L, Veanes M (2014) Minimization of symbolic automata. In: Proceedings of the 41st ACM SIGPLAN-SIGACT symposium on principles of programming languages, POPL ’14, ACM, New York, pp 541–553. doi: 10.1145/2535838.2535849
  8. 8.
    D’Antoni L, Veanes M, Livshits B, Molnar D (2014) Fast: a transducer-based language for tree manipulation. In: Proceedings of the 35th ACM SIGPLAN conference on programming language design and implementation, PLDI ’14, ACM, New York, pp 384–394. doi: 10.1145/2594291.2594309
  9. 9.
    Fülöp Z, Vogler H (1998) Syntax-directed semantics: formal models based on tree transducers. EATCS. Springer, New YorkCrossRefGoogle Scholar
  10. 10.
    Griffiths T (1968) The unsolvability of the equivalence problem for \(\varLambda \)-free nondeterministic generalized machines. J ACM 15:409–413zbMATHCrossRefGoogle Scholar
  11. 11.
    Hooimeijer P, Livshits B, Molnar D, Saxena P, Veanes M (2011) Fast and precise sanitizer analysis with Bek. In: USENIX security, pp 1–16Google Scholar
  12. 12.
    Ibarra O (1978) The unsolvability of the equivalence problem for Efree NGSM’s with unary input (output) alphabet and applications. SIAM J Comput 4:524–532MathSciNetCrossRefGoogle Scholar
  13. 13.
    Kaminski M, Francez N (1994) Finite-memory automata. TCS 134(2):329–363zbMATHMathSciNetCrossRefGoogle Scholar
  14. 14.
    Kumar S, Chandrasekaran B, Turner J, Varghese G (2007) Curing regular expressions matching algorithms from insomnia, amnesia, and acalculia. In: ANCS 2007, ACM/IEEE, pp 155–164Google Scholar
  15. 15.
    Maletti A, Graehl J, Hopkins M, Knight K (2009) The power of extended top-down tree transducers. SIAM J Comput 39(2):410–430. doi: 10.1137/070699160 zbMATHMathSciNetCrossRefGoogle Scholar
  16. 16.
    Mohri M (1997) Finite-state transducers in language and speech processing. Comput Linguist 23(2):269–311.
  17. 17.
    van Noord G, Gerdemann D (2001) Finite state transducers with predicates and identities. Grammars 4(3):263–286zbMATHMathSciNetCrossRefGoogle Scholar
  18. 18.
    Schützenberger MP (1975) Sur les relations rationnelles. In: GI conference on automata theory and formal languages. LNCS 33:209–213Google Scholar
  19. 19.
    Segoufin L, Segoufin L (2006) Automata and logics for words and trees over an infinite alphabet. CSL. Springer, Berlin Heidelberg, pp 41–57Google Scholar
  20. 20.
    Smith R, Estan C, Jha S, Kong S (2008) Deflating the big bang: fast and scalable deep packet inspection with extended finite automata. In: SIGCOMM ’08, ACM, pp 207–218Google Scholar
  21. 21.
    Veanes M, Bjørner N, Nachmanson L, Bereg S (2014) Monadic decomposition. In: CAV’14, LNCS, vol 8559, Springer, pp 628–645Google Scholar
  22. 22.
    Veanes M, Hooimeijer P, Livshits B, Molnar D, Bjorner N (2012) Symbolic finite state transducers: algorithms and applications. In: POPL’12, ACM, pp 137–150Google Scholar
  23. 23.
    Veanes M, Mytkowicz T, Molnar D, Livshits B (2015) Data-parallel string-manipulating programs. In: Proceedings of the 42nd ACM SIGPLAN-SIGACT symposium on principles of programming languages, POPL’15, ACM, pp 139–152Google Scholar
  24. 24.
    Watson BW (1996) Implementing and using finite automata toolkits. Nat Lang Eng 2(4):295–302. doi: 10.1017/S135132499700154X CrossRefGoogle Scholar
  25. 25.
    Weber A (1993) Decomposing finite-valued transducers and deciding their equivalence. SIAM J Comput 22(1):175–202zbMATHMathSciNetCrossRefGoogle Scholar
  26. 26.
    Yu S (1997) Regular languages. In: Rozenberg G, Salomaa A (eds) Handbook of formal languages, vol 1. Springer, New York, pp 41–110CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  1. 1.University of PennsylvaniaPhiladelphiaUSA
  2. 2.Microsoft ResearchRedmondUSA

Personalised recommendations