  Automatic code transformation in which transformations are tuned for specific
applications and contexts are difficult to achieve in an accessible manner. In
this paper, we present an approach to build application specific code
transformations. Our approach is based on analysis of the abstract syntax
representation of exemplars of the essential change to the code before and
after the transformation is applied. This analysis entails a sequence of steps
to identify the change, determine how to generalize it, and map it to term
rewriting rules for the Stratego term rewriting system. The methods described
in this paper assume programs are represented in a language-neutral term
format, allowing tools based on our methods to be applied to programs written
in the major languages used by computational scientists utilizing high
performance computing systems.
