The Program Transformation Wiki

Program transformation techniques are used in a many areas of software engineering ranging from program synthesis, via program optimization and program refactoring, to reverse engineering and documentation generation. Many theories, tools and applications have been developed over the last 30 years. Often the results of these efforts are used only in the community that developed them. is dedicated to collecting, organizing and disseminating information about all aspects of program transformation in order to share results across communities. Such an effort cannot possibly be achieved by a static web site. Therefore, this site is based on TWiki, a system for collaborative web development. This means that you cannot only read information about program transformation, but also contribute to this site by editing pages and by adding new pages. OneMinuteWiki explains how wiki works. -- EelcoVisser & ArieVanDeursen

Entry Points

There are a number of EntryPoints that focus on specific aspects of program transformation. The most elaborate ones include


Another way to browse the pages is by considering the various categories. A category is created by including the name of the category somewhere (usually at the bottom) of a page about a topic in that category. By clicking on the title of any page you get a list of all pages referring to that page. Some categories already provide a full list of all topics in the category.


The following pages are systematic collections of resources in the area of program transformation:

Tools hosts a number of sub-sites featuring special areas of ProgramTransformation or documenting specific TransformationSystems:

  • Stratego: a language for strategic rewriting
  • SDF: modular syntax definition formalism
  • XTRAN: An expert system for manipulating computer languages
  • RigiSystem: a reverse engineering system to extract, navigate, analyze and document the static structure of large software systems.


ProgramTransformationOrg was founded in April 2000 by EelcoVisser. WebNews keeps track of important changes on the site. A more detailed view of all changes in the pages is available in WebChanges.