Stratego Publications

Stratego -- Strategies for Program Transformation

Note that Stratego is now part of the Spoofax Language Workbench, which provides an Eclipse plugin for developing SDF and Stratego, and creating Eclipse IDE plugins for your own language. See the Spoofax website for information and downloads: This website is still available for historical purposes. Refer the new site for up-to-date documentation.

Full bibliography of Stratego


Language Concepts

Transformation Infrastructure


Language Engineering



Language definition

Code generation

Language extension

Various applications

Most of the publications listed on this page are written by the developers of Stratego/XT and cover some aspect of the system. We plan to extend the bibliography to include all applications of Stratego/XT. If you have published a paper where you use Stratego/XT and want to be listed here, just let us know. Currently, this list is very incomplete.

  • Mina Askari and Raihan Al-Ekram, "Bringing Smalltalk Blocks to Java through Transformation Techniques" (pdf)

  • Pavel Avgustinov, Elnar Hajiyev, Neil Ongkingco, Oege de Moor, Damien Sereni, Julian Tibble, Mathieu Verbaere, "Semantics of static pointcuts in AspectJ". (website)

  • Anya Helene Bagge, Valentin David, Magne Haveraaen, Karl Trygve Kalleberg. "Stayin' alert: moulding failure and exceptions to your needs"

  • A. H. Bagge and K. T. Kalleberg. "DSAL = library+notation: Program Transformation for Domain-Specific Aspect Languages"

  • Alexandre Borghi, Valentin David and Akim Demaille. "C-Transformers: A Framework to Write C Program Transformations"

  • W. Caarls, P.P. Jonker, and H. Corporaal, "Algorithmic Skeletons for Stream Programming in Embedded Heterogeneous Parallel Image Processing"

  • Valentin David, Akim Demaille, Olivier Gournet, "Attribute Grammars for Modular Disambiguation"

  • Akim Demaille, Sylvain Peyronnet, Benot Sigoure. "Modeling of Sensor Networks Using XRM"

  • F. Latry, J. Mercadal, and C. Consel, "Processing Domain-Specific Modeling Languages: A Case Study in Telephony Services"

  • Sebastian Fleissner, Elisa Baniassad, "A commensalistic software system". (doi)

  • Sergey V. Goncharov, Arseniy Y. Rudich, Yaroslav S. Usenko. "An implementation of a CRL linearization algorithm using rewriting strategies."

  • Jonathan Riehl, "Assimilating MetaBorg: Embedding language tools in languages"

  • Eric Tanter, "An Extensible Kernel Language for AOP"

  • Karl Trygve Kalleberg, Eelco Visser, "Fusing a Transformation Language with an Open Compiler"

  • Leonard Hamey, Shirley Goldrei, "Implementing a Domain-Specific Language using Stratego/XT"

  • Eric Bouwers, Martin Bravenboer, Eelco Visser, "Grammar Engineering Support for Precedence Rule Recovery and Compatibility Checking"


of strategies and related mechanisms in several languages