  Maintaining software artifacts is among the hardest tasks an engineer faces.
Like any other piece of code, model transformations developed by engineers are
also subject to maintenance. To facilitate the comprehension of programs,
software engineers rely on many techniques, such as design pattern detection.
Therefore, detecting design patterns in model transformation implementations is
of tremendous value for developers. In this paper, we propose a generic
technique to detect design patterns and their variations in model
transformation implementations automatically. It takes as input a set of model
transformation rules and the participants of a model transformation design
pattern to find occurrences of the latter in the former. The technique also
detects certain kinds of degenerate forms of the pattern, thus indicating
potential opportunities to improve the model transformation implementation.
