Skip to main content

Extended symbolic finite automata and transducers

Abstract

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.

This is a preview of subscription content, access via your institution.

Notes

  1. For more information see http://www.rise4fun.com/Bek/tutorial/base64.

  2. Bek is available at: http://www.rise4fun.com/Bek.

  3. Bex is available at: http://www.rise4fun.com/Bex.

  4. More information at http://www.cs.washington.edu/research/networking/napt/.

References

  1. Alur R, Cerný P (2011) Streaming transducers for algorithmic verification of single-pass list-processing programs. In: POPL’11, ACM, pp 599–610

  2. Botincan M, Babic D (2013) Sigma*: symbolic learning of input-output specifications. In: POPL’13, ACM, pp 443–456

  3. Culic K, Karhumäki J (1986) The equivalence of finite-valued transducers (on HDTOL languages) is decidable. Theor Comput Sci 47:71–84

    Article  Google Scholar 

  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. 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. 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–228

  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. 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. Fülöp Z, Vogler H (1998) Syntax-directed semantics: formal models based on tree transducers. EATCS. Springer, New York

    Book  Google Scholar 

  10. Griffiths T (1968) The unsolvability of the equivalence problem for \(\varLambda \)-free nondeterministic generalized machines. J ACM 15:409–413

    MATH  Article  Google Scholar 

  11. Hooimeijer P, Livshits B, Molnar D, Saxena P, Veanes M (2011) Fast and precise sanitizer analysis with Bek. In: USENIX security, pp 1–16

  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–532

    MathSciNet  Article  Google Scholar 

  13. Kaminski M, Francez N (1994) Finite-memory automata. TCS 134(2):329–363

    MATH  MathSciNet  Article  Google Scholar 

  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–164

  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

    MATH  MathSciNet  Article  Google Scholar 

  16. Mohri M (1997) Finite-state transducers in language and speech processing. Comput Linguist 23(2):269–311. http://dl.acm.org/citation.cfm?id=972695.972698

  17. van Noord G, Gerdemann D (2001) Finite state transducers with predicates and identities. Grammars 4(3):263–286

    MATH  MathSciNet  Article  Google Scholar 

  18. Schützenberger MP (1975) Sur les relations rationnelles. In: GI conference on automata theory and formal languages. LNCS 33:209–213

  19. Segoufin L, Segoufin L (2006) Automata and logics for words and trees over an infinite alphabet. CSL. Springer, Berlin Heidelberg, pp 41–57

    Google Scholar 

  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–218

  21. Veanes M, Bjørner N, Nachmanson L, Bereg S (2014) Monadic decomposition. In: CAV’14, LNCS, vol 8559, Springer, pp 628–645

  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–150

  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–152

  24. Watson BW (1996) Implementing and using finite automata toolkits. Nat Lang Eng 2(4):295–302. doi:10.1017/S135132499700154X

    Article  Google Scholar 

  25. Weber A (1993) Decomposing finite-valued transducers and deciding their equivalence. SIAM J Comput 22(1):175–202

    MATH  MathSciNet  Article  Google Scholar 

  26. Yu S (1997) Regular languages. In: Rozenberg G, Salomaa A (eds) Handbook of formal languages, vol 1. Springer, New York, pp 41–110

    Chapter  Google Scholar 

Download references

Acknowledgments

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

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Loris D’Antoni.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

D’Antoni, L., Veanes, M. Extended symbolic finite automata and transducers. Form Methods Syst Des 47, 93–119 (2015). https://doi.org/10.1007/s10703-015-0233-4

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10703-015-0233-4

Keywords

  • Symbolic automata
  • Symbolic transducers
  • Equivalence
  • String encoders