Stratego Community

Stratego -- Strategies for Program Transformation

Delft University of Technology

The Program Transformation project of the Software Engineering Research Group at the Delft University of Technology takes care of most of the development and maintenance of Stratego/XT. (But people interested in joining the effort are welcome.) Active members of the project are

University of Massachusetts Amherst

Utrecht University

Master students

  • Eric Bouwers -- PHP-front, PHP-sat
  • Mart Kolthof -- Loop vectorization for C
  • Raymon van Wanrooij -- Software composition
  • Sander Mak -- DSL interaction

Former members

Staff

Students

University of Bergen

The SAGA Group in Bergen works on domain-specific optimization, in particular of domain-specific for programs written with the Sophus numerical library.

EPITA Research & Development Laboratory

The Transformers Project at Epita develops a transformation system for C++ using a syntax definition in SDF and disambiguation with a Stratego-based attribute grammar system.

Former students

Philips (Research)

Philips has hired some former members of the Utrecht group.

OGI

The very first version of Stratego was developed at the Oregon Graduate Institute. Dick Kieburtz uses Stratego to implement a theorem prover for correctness proofs of Haskell programs.

Lockheed Martin, Advanced Technology Laboratories (ATL)

Stratego is being used on a number of research programs under the Lockheed Martin Software Technology Initiative (STI). The aim of the STI is to help bring state-of-the-art software development and maintenance technologies to Lockheed Martin development groups, and develop software research programs to sustain future innovation.

The Chimera project is using C/C++ source code transformation to automate the migration of legacy code to heterogeneous processor environments (e.g., Cell, GPU, FPGA). We are using a modified version of the Transformers SDF grammar to parse C++ code without using filters to disambiguate. Chimera couples a Stratego-based transformation engine with the GrammarTech CodeSurfer program analysis engine (written in Scheme) to perform complex dismantling and assembling of source code. The project started in 2008 and is expected to run for more than three years.

The Chimera project involves collaboration with Drexel University (Prof. Spiros Mancoridis) and CMU (Prof. Bill Scherlis).

  • Daniel Waddington (Principal Researcher - daniel.waddington@lmco.com)
  • Scott Kagan (Researcher)
  • Shahrukh Tarapore (Researcher)
  • Matt Burkholder (Researcher)
  • Gary Katz (Researcher)
  • Ken Owens (Researcher)
  • Robert Lange (Drexel PhD Student)
  • Kevin Lynch (Drexel MSc Student)

A previous project, Thimble, used Stratego to reverse engineer C# code into Bogor (from Kansas State University) model-checkable models. Thimble used the ANT compiler to generate C# ATerms, which were fed into and analyzed in Stratego.

Bell Labs, Lucent Technologies

The Proteus system developed at Lucent provides the YATL language for transformtion of C and C++ programs. The language is compiled to Stratego. The parser of Proteus is based on an SDF syntax definition.

  • Daniel Waddington (Researcher - since left)
  • Bin Yao (Researcher - since left)
  • Marcio Buss (Sutdent, Columbia University - graduated)
  • Steve Kennedy

Université René Descartes

  • Mikal Ziane
  • Salima Chantit (refactoring)
  • Jérome Grandguillot (refinement)

Chalmers

Sybille Schupp is interested in domain-specific optimization of library invocations.

Formerly

  • Kyle Ross