B. Alkhazi, T. Ruas, M. Kessentini, M. Wimmer, W. Grosky: Automated Refactoring of ATL Model Transformations: A Search-Based Approach, ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems (MODELS 2016), Saint-Malo, France; 02.-07.10.2016, in Proceedings of the ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems (MODELS 2016), (2016), pages 1 - 10. doi: 10.1145/2976767.2976782
Model transformation programs evolve through a process of continuous change. However, this process may weaken the design of the transformation programs and make it unnecessarily complex, leading to increased fault-proneness. Refactoring improves the software design while preserving overall functionality and behavior. However, very few studies addressed the problem of refactoring model transformation programs. These existing studies provided an entirely manual or semi-automated refactoring support to transformation languages such as ATL. In this paper, we propose a fully-automated search-based approach to refactor model transformations based on a multi-objective algorithm that recommends the best refactoring sequence (e.g. extract rule, merge rules, etc.) optimizing a set of ATL-based quality metrics (e.g. number of rules, coupling, etc.). To validate our approach, we apply it to a comprehensive dataset of model transformations. The statistical analysis of our experiments over 30 runs shows that our automated approach recommended useful refactorings based on benchmark of ATL programs and compared to random search, mono-objective search formulation and a semi-automated refactoring approach not based heuristic search.