skip to main content
10.1145/2594291.2594309acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article

Fast: a transducer-based language for tree manipulation

Published:09 June 2014Publication History

ABSTRACT

Tree automata and tree transducers are used in a wide range of applications in software engineering, from XML processing to language type-checking. While these formalisms are of immense practical use, they can only model finite alphabets, and since many real-world applications operate over infinite domains such as integers, this is often a limitation. To overcome this problem we augment tree automata and transducers with symbolic alphabets represented as parametric theories. Admitting infinite alphabets makes these models more general and succinct than their classical counterparts. Despite this, we show how the main operations, such as composition and language equivalence, remain computable given a decision procedure for the alphabet theory.

We introduce a high-level language called Fast that acts as a front-end for the above formalisms. Fast supports symbolic alphabets through tight integration with state-of-the-art satisfiability modulo theory (SMT) solvers. We demonstrate our techniques on practical case studies, covering a wide range of applications.

References

  1. R. Alur and L. D'Antoni. Streaming tree transducers. In ICALP'12, pages 42--53. Springer, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. B. S. Baker. Composition of top-down and bottom-up tree transductions. Inform. and Control, 41:186--213, 1979.Google ScholarGoogle ScholarCross RefCross Ref
  3. O. Becker. Streaming transformations for XML-STX. In R. Eckstein and R. Tolksdorf, editors, XMIDX 2003, volume 24 of LNI, pages 83--88. GI, 2003.Google ScholarGoogle Scholar
  4. M. Bojańczyk, C. David, A. Muscholl, T. Schwentick, and L. Segoufin. Two-variable logic on data trees and XML reasoning. In PODS'06, pages 10--19, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. A. Bouajjani, P. Habermehl, L. Holik, T. Touili, and T. Vojnar. Antichain-based universality and inclusion testing over nondeterministic finite tree automata. In CIAA'08, volume 5148 of Lecture Notes in Computer Science, pages 57--67. Springer Berlin Heidelberg, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Brand, J. Heering, P. Klint, and P. Olivier. Compiling Rewrite Systems: The ASF+SDF Compiler. ACM Transactions on Programming Languages and Systems, 24(4), 2002.Google ScholarGoogle Scholar
  8. H. Comon, M. Dauchet, R. Gilleron, C. Löding, F. Jacquemard, D. Lugiez, S. Tison, and M. Tommasi. Tree automata techniques and applications, 2007.Google ScholarGoogle Scholar
  9. L. D'Antoni and M. Veanes. Equivalence of extended symbolic finite transducers. In CAV 2013, volume 8044 of LNCS, pages 624--639. Springer, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. L. D'Antoni and M. Veanes. Static analysis of string encoders and decoders. In R. Giacobazzi, J. Berdine, and I. Mastroeni, editors, VMCAI 2013, volume 7737 of LNCS, pages 209--228. Springer, 2013.Google ScholarGoogle Scholar
  11. L. D'Antoni and M. Veanes. Minimization of symbolic automata. In S. Jagannathan and P. Sewell, editors, POPL, pages 541--554. ACM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. L. de Moura and N. Bjørner. Z3: An Efficient SMT Solver. In TACAS'08, LNCS, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. L. de Moura and N. Bjørner. Satisfiability Modulo Theories: Introduction & Applications. Communications of the ACM, 54(9):69--77, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Engelfriet. Bottom-up and top-down tree transformations -- a comparison. Math. Systems Theory, 9:198--231, 1975.Google ScholarGoogle ScholarCross RefCross Ref
  15. J. Engelfriet. Top-down tree transducers with regular look-ahead. Math. Systems Theory, 10:289--303, 1977.Google ScholarGoogle ScholarCross RefCross Ref
  16. J. Engelfriet. Some open questions and recent results on tree transducers and tree languages. In Formal Language Theory, pages 241--286. Academic Press, 1980.Google ScholarGoogle ScholarCross RefCross Ref
  17. J. Engelfriet and S. Maneth. Macro tree transducers, attribute grammars, and MSO definable tree translations. Inform. and Comput, 154:34--91, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. Engelfriet and S. Maneth. The equivalence problem for deterministic MSO tree transducers is decidable. Inf. Process. Lett., 100(5):206--212, Dec. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. T. W. Frühwirth, E. Y. Shapiro, M. Y. Vardi, and E. Yardeni. Logic programs as types for logic programs. In LICS'91, pages 300--309, 1991.Google ScholarGoogle ScholarCross RefCross Ref
  20. Z. Fülöp and S. Vágvölgyi. Variants of top-down tree transducers with look-ahead. Math. Sys. Th., 21(3):125--145, 1989.Google ScholarGoogle Scholar
  21. Z. Fülöp and H. Vogler. Syntax-Directed Semantics: Formal Models Based on Tree Transducers. EATCS. Springer, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Z. Fülöp and H. Vogler. Forward and backward application of symbolic tree transducers. CoRR, abs/1208.5324, 2012.Google ScholarGoogle Scholar
  23. P. Geneves, N. Layaida, and V. Quint. On the analysis of cascading style sheets. In WWW '12, pages 809--818, New York, NY, USA, 2012. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. A. Hejlsberg, S. Wiltamuth, and P. Golde. C# Language Specification. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. P. Hooimeijer, B. Livshits, D. Molnar, P. Saxena, and M. Veanes. Fast and precise sanitizer analysis with Bek. In Proceedings of the USENIX Security Symposium, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. J. E. Hopcroft and J. D. Ullman. Introduction to Automata Theory, Languages, and Computation. Addison-Wesley Longman Publishing Co., Inc., 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. H. Hosoya and B. C. Pierce. Xduce: A statically typed XML processing language. ACM Trans. Internet Technol., 3(2):117--148, May 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. N. Kobayashi, N. Tabuchi, and H. Unno. Higher-order multi-parameter tree transducers and recursion schemes for program verification. In POPL'10, pages 495--508, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. A. Kühnemann. Comparison of deforestation techniques for functional programs and for tree transducers. In Fuji Int. Symp. on Functional and Logic Programming, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. O. Lengal, J. Šimáček, and T. Vojnar. Vata: A library for efficient manipulation of non-deterministic tree automata. In TACAS'12, volume 7214 of Lecture Notes in Computer Science, pages 79--94. Springer Berlin Heidelberg, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. A. Maletti, J. Graehl, M. Hopkins, and K. Knight. The power of extended top-down tree transducers. SIAM J. Comput., 39:410--430, June 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. S. Maneth, A. Berlea, T. Perst, and H. Seidl. XML type checking with macro tree transducers. In PODS'05, pages 283--294, New York, NY, USA, 2005. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. J. May and K. Knight. A primer on tree automata software for natural language processing, 2008.Google ScholarGoogle Scholar
  34. A. Purtee and L. Schubert. TTT: A tree transduction language for syntactic and semantic processing. In Proceedings of the Workshop on App. of Tree Aut. Tech. in NLP, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. J.-C. Raoult. A survey of tree transductions. In Tree Automata and Languages, pages 311--326. sn, 1992.Google ScholarGoogle Scholar
  36. H. Seidl. Equivalence of finite-valued tree transducers is decidable. Math. Systems Theory, 27:285--346, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. H. Seidl. Haskell overloading is dexptime-complete. Inf. Process. Lett., 52(2):57--60, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. The Unicode Consortium. The Unicode Standard 6.3, Emoticons. http://unicode.org/charts/PDF/U1F600.pdf.Google ScholarGoogle Scholar
  39. M. Veanes and N. Bjørner. Symbolic tree transducers. In Perspectives of System Informatics (PSI'11), volume 7162 of LNCS, pages 377--393. Springer, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. M. Veanes, P. Hooimeijer, B. Livshits, D. Molnar, and N. Bjorner. Symbolic finite state transducers: Algorithms and applications. In POPL'12, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. P. Wadler. Deforestation: transforming programs to eliminate trees. In Proceedings of the Second European Symposium on Programming, pages 231--248, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. P. Walmsley. XQuery. O'Reilly Media, Inc., 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Fast: a transducer-based language for tree manipulation

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      PLDI '14: Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation
      June 2014
      619 pages
      ISBN:9781450327848
      DOI:10.1145/2594291
      • cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 49, Issue 6
        PLDI '14
        June 2014
        598 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2666356
        • Editor:
        • Andy Gill
        Issue’s Table of Contents

      Copyright © 2014 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 9 June 2014

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      PLDI '14 Paper Acceptance Rate52of287submissions,18%Overall Acceptance Rate406of2,067submissions,20%

      Upcoming Conference

      PLDI '24

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader