  This paper addresses the issue of correcting type errors in model
transformations in realistic scenarios where neither predefined patches nor
behavior-safe guards such as test suites are available. Instead of using
predefined patches targeting isolated errors of specific categories, we propose
to explore the space of possible patches by combining basic edit operations for
model transformation programs. To guide the search, we define two families of
objectives: one to limit the number of type errors and the other to preserve
the transformation behavior. To approximate the latter, we study two
objectives: minimizing the number of changes and keeping the changes local.
Additionally, we define four heuristics to refine candidate patches to increase
the likelihood of correcting type errors while preserving the transformation
behavior. We implemented our approach for the ATL language using the
evolutionary algorithm NSGA-II, and performed an evaluation based on three
published case studies. The evaluation results show that our approach was able
to automatically correct on average more than82% of type errors for two cases
and more than 56% for the third case.
