skip to main content
research-article
Open Access

Fast: A Transducer-Based Language for Tree Manipulation

Published:16 October 2015Publication History
Skip Abstract Section

Abstract

Tree automata and transducers are used in a wide range of applications in software engineering. While these formalisms are of immense practical use, they can only model finite alphabets. 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 classic 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 preceding formalisms.

References

  1. Rajeev Alur and Loris D’Antoni. 2012. Streaming tree transducers. In Automata, Languages, and Programming, Artur Czumaj, Kurt Mehlhorn, Andrew Pitts, and Roger Wattenhofer (Eds.). Lecture Notes in Computer Science, Vol. 7392. Springer, Berlin, 42--53. DOI:http://dx.doi.org/10.1007/978-3-642-31585-5_8 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Brenda S. Baker. 1979. Composition of top-down and bottom-up tree transductions. Inform. Control 41, 2 (1979), 186--213.Google ScholarGoogle ScholarCross RefCross Ref
  3. Oliver Becker. 2003. Streaming transformations for XML-STX. In XMIDX 2003 (LNI), Rainer Eckstein and Robert Tolksdorf (Eds.), Vol. 24. GI, 83--88.Google ScholarGoogle Scholar
  4. Mikolaj Bojańczyk, Claire David, Anca Muscholl, Thomas Schwentick, and Luc Segoufin. 2006. Two-variable logic on data trees and XML reasoning. In Proceedings of the 25th ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems (PODS’06). ACM, New York, NY, 10--19. DOI:http://dx.doi.org/10.1145/1142351.1142354 Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Matko Botinčan and Domagoj Babić. 2013. Sigma*: Symbolic learning of input-output specifications. SIGPLAN Not. 48, 1 (Jan. 2013), 443--456. DOI:http://dx.doi.org/10.1145/2480359.2429123 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Ahmed Bouajjani, Peter Habermehl, Lukas Holik, Tayssir Touili, and Tomas Vojnar. 2008. Antichain-based universality and inclusion testing over nondeterministic finite tree automata. In CIAA’08. Lecture Notes in Computer Science, Vol. 5148. Springer, Berlin, 57--67. DOI:http://dx.doi.org/10.1007/978-3-540-70844-5_7 Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Hubert Comon, Max Dauchet, Remi Gilleron, Christof Löding, Florent Jacquemard, Denis Lugiez, Sophie Tison, and Marc Tommasi. 2007. Tree Automata Techniques and Applications.Google ScholarGoogle Scholar
  8. Conrad Cotton-Barratt, David Hopkins, Andrzej S. Murawski, and C.-H. Luke Ong. 2015. Fragments of ML decidable by nested data class memory automata. In Foundations of Software Science and Computation Structures - 18th International Conference, FoSSaCS 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015. Proceedings. 249--263. DOI:http://dx.doi.org/10.1007/978-3-662-46678-0_16Google ScholarGoogle ScholarCross RefCross Ref
  9. Loris D’Antoni and Margus Veanes. 2013a. Equivalence of extended symbolic finite transducers. In Proceedings of the 25th International Conference on Computer Aided Verification (CAV’13). Springer-Verlag, Berlin, 624--639. DOI:http://dx.doi.org/10.1007/978-3-642-39799-8_41 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Loris D’Antoni and Margus Veanes. 2013b. Static analysis of string encoders and decoders. In VMCAI 2013 (LNCS), R. Giacobazzi, J. Berdine, and I. Mastroeni (Eds.), Vol. 7737. Springer, 209--228.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Loris D’Antoni and Margus Veanes. 2014. Minimization of symbolic automata. In POPL, Suresh Jagannathan and Peter Sewell (Eds.). ACM, 541--554. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Leonardo de Moura and Nikolaj Bjørner. 2008. Z3: An efficient SMT solver. In Proceedings of the Theory and Practice of Software, 14th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’08/ETAPS’08). Springer-Verlag, Berlin, 337--340. http://dl.acm.org/citation.cfm?id=1792734.1792766 Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Leonardo de Moura and Nikolaj Bjørner. 2011. Satisfiability modulo theories: Introduction & applications. Commun. ACM 54, 9 (2011), 69--77. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Joost Engelfriet. 1975. Bottom-up and top-down tree transformations—A comparison. Math. Syst. Theory 9 (1975), 198--231.Google ScholarGoogle ScholarCross RefCross Ref
  15. Joost Engelfriet. 1977. Top-down tree transducers with regular look-ahead. Math. Syst. Theory 10 (1977), 289--303.Google ScholarGoogle ScholarCross RefCross Ref
  16. Joost Engelfriet. 1980. Some open questions and recent results on tree transducers and tree languages. In Formal Language Theory. Academic Press, 241--286.Google ScholarGoogle Scholar
  17. Joost Engelfriet and Sebastian Maneth. 2006. The equivalence problem for deterministic MSO tree transducers is decidable. Inf. Process. Lett. 100, 5 (Dec. 2006), 206--212. DOI:http://dx.doi.org/10.1016/j.ipl.2006.05.015 Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Joost Engelfriet and Heiko Vogler. 1985. Macro tree transducers. J. Comput. Syst. Sci. 31 (1985), 71--146.Google ScholarGoogle ScholarCross RefCross Ref
  19. Z. Esik. 1980. Decidability results concerning tree transducers. Acta Cybern. 5 (1980), 1--20.Google ScholarGoogle Scholar
  20. Thom W. Frühwirth, Ehud Y. Shapiro, Moshe Y. Vardi, and Eyal Yardeni. 1991. Logic programs as types for logic programs. In Proceedings of the Sixth Annual IEEE Symposium on Logic in Computer Science (LICS ’91). 300--309. DOI:http://dx.doi.org/10.1109/LICS.1991.151654Google ScholarGoogle ScholarCross RefCross Ref
  21. Zoltán Fülöp and Sándor Vágvölgyi. 1989. Variants of top-down tree transducers with look-ahead. Math. Syst. Theory 21, 3 (1989), 125--145.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Zoltán Fülöp and Heiko Vogler. 2014. Forward and backward application of symbolic tree transducers. Acta Inf. 51, 5 (Aug. 2014), 297--325. DOI:http://dx.doi.org/10.1007/s00236-014-0197-7 Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Zoltán Fülöp and H. Vogler. 1998. Syntax-Directed Semantics: Formal Models Based on Tree Transducers. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Pierre Geneves, Nabil Layaida, and Vincent Quint. 2012. On the analysis of cascading style sheets. In WWW’12. ACM, New York, NY, 809--818. DOI:http://dx.doi.org/10.1145/2187836.2187946 Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Shizuya Hakuta, Sebastian Maneth, Keisuke Nakano, and Hideya Iwasaki. 2014. XQuery streaming by forest transducers. In IEEE 30th International Conference on Data Engineering (ICDE’14). 952--963. DOI:http://dx.doi.org/10.1109/ICDE.2014.6816714Google ScholarGoogle ScholarCross RefCross Ref
  26. Anders Hejlsberg, Scott Wiltamuth, and Peter Golde. 2003. C# Language Specification. Addison-Wesley Longman Publishing Co., Inc., Boston, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Pieter Hooimeijer, Benjamin Livshits, David Molnar, Prateek Saxena, and Margus Veanes. 2011. Fast and precise sanitizer analysis with BEK. In Proceedings of the 20th USENIX Conference on Security (SEC’11). USENIX Association, Berkeley, CA, 1--1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. John E. Hopcroft and Jeffrey D. Ullman. 1979. Introduction to Automata Theory, Languages, and Computation. Addison-Wesley Longman Publishing Co., Inc. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Haruo Hosoya and Benjamin C. Pierce. 2003. XDuce: A statically typed XML processing language. ACM Trans. Internet Technol. 3, 2 (May 2003), 117--148. DOI:http://dx.doi.org/10.1145/767193.767195 Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Naoki Kobayashi, Naoshi Tabuchi, and Hiroshi Unno. 2010. Higher-order multi-parameter tree transducers and recursion schemes for program verification. SIGPLAN Not. 45, 1 (Jan. 2010), 495--508. DOI:http://dx.doi.org/10.1145/1707801.1706355 Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Armin Kühnemann. 1999. Comparison of deforestation techniques for functional programs and for tree transducers. In Proceedings of the 4th Fuji International Symposium on Functional and Logic Programming. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Ond Lengal, Ji Simáček, and Tom Vojnar. 2012. VATA: A library for efficient manipulation of non-deterministic tree automata. In TACAS’12. Lecture Notes in Computer Science, Vol. 7214. Springer, Berlin, 79--94. DOI:http://dx.doi.org/10.1007/978-3-642-28756-5_7 Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Andreas Maletti, Jonathan Graehl, Mark Hopkins, and Kevin Knight. 2009. The power of extended top-down tree transducers. SIAM J. Comput. 39, 2 (June 2009), 410--430. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Sebastian Maneth, Alexandru Berlea, Thomas Perst, and Helmut Seidl. 2005. XML type checking with macro tree transducers. In PODS’05. ACM, New York, NY, 283--294. DOI:http://dx.doi.org/10.1145/1065167.1065203 Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Jonathan May and Kevin Knight. 2008. A Primer on Tree Automata Software for Natural Language Processing. http://www.isi.edu/licensed-sw/tiburon/tiburon-tutorial.pdf.Google ScholarGoogle Scholar
  36. Tova Milo, Dan Suciu, and Victor Vianu. 2000. Typechecking for XML transformers. In Proceedings of the 19th ACM Symposium on Principles of Database Systems (PODS’00). ACM, 11--22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Thomas Perst and Helmut Seidl. 2004. Macro forest transducers. Inf. Process. Lett. 89, 3 (Feb. 2004), 141--149. DOI:http://dx.doi.org/10.1016/j.ipl.2003.05.001 Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Adam Purtee and Lenhart Schubert. 2012. TTT: A tree transduction language for syntactic and semantic processing. In Proceedings of the Workshop on Application of Tree Automata Techniques in NLP. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Jean-Claude Raoult. 1992. A survey of tree transductions. In Tree Automata and Languages., 311--326.Google ScholarGoogle Scholar
  40. Helmut Seidl. 1994a. Equivalence of finite-valued tree transducers is decidable. Math. Syst. Theory 27 (1994), 285--346. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Helmut Seidl. 1994b. Haskell overloading is DEXPTIME-complete. Inf. Process. Lett. 52, 2 (1994), 57--60. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. The Unicode Consortium. The Unicode Standard 6.3, Emoticons. The Unicode Consortium. http://unicode.org/charts/PDF/U1F600.pdf.Google ScholarGoogle Scholar
  43. Mark G. J. van den Brand, J. Heering, P. Klint, and P. A. Olivier. 2002. Compiling language definitions: The ASF+SDF compiler. ACM Trans. Program. Lang. Syst. 24, 4 (July 2002), 334--368. DOI:http://dx.doi.org/10.1145/567097.567099 Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Margus Veanes and Nikolaj Bjørner. 2012. Symbolic tree transducers. In Proceedings of the 8th International Conference on Perspectives of System Informatics (PS’11). Springer-Verlag, Berlin, 377--393. DOI:http://dx.doi.org/10.1007/978-3-642-29709-0_32 Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Margus Veanes and Nikolaj Bjørner. 2015. Symbolic tree automata. Inform. Process. Lett. 115, 3 (2015), 418--424. DOI:http://dx.doi.org/10.1016/j.ipl.2014.11.005Google ScholarGoogle ScholarCross RefCross Ref
  46. Margus Veanes, Pieter Hooimeijer, Benjamin Livshits, David Molnar, and Nikolaj Bjørner. 2012. Symbolic finite state transducers: Algorithms and applications. SIGPLAN Not. 47, 1 (Jan. 2012), 137--150. DOI:http://dx.doi.org/10.1145/2103621.2103674 Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Philip Wadler. 1988. Deforestation: Transforming programs to eliminate trees. Theor. Comput. Sci. 73, 2 (Jan. 1988), 231--248. DOI:http://dx.doi.org/10.1016/0304-3975(90)90147-A Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Priscilla Walmsley. 2007. XQuery. O’Reilly Media, Inc. 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

      Full Access

      • Published in

        cover image ACM Transactions on Programming Languages and Systems
        ACM Transactions on Programming Languages and Systems  Volume 38, Issue 1
        October 2015
        88 pages
        ISSN:0164-0925
        EISSN:1558-4593
        DOI:10.1145/2836326
        Issue’s Table of Contents

        Copyright © 2015 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: 16 October 2015
        • Accepted: 1 June 2015
        • Received: 1 July 2014
        Published in toplas Volume 38, Issue 1

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader