Fixing Multiple Type Errors in Model Transformations with Alternative Oracles to Test Cases

By: Zahra Varaminybahnemiry, Jessie Galasso, Houari Sahraoui

Abstract

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 minimize the alteration of the transformations’ 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 limiting behavior deviations. 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 than 82% of type errors for two cases and more than 56% for the third case.

Keywords

Model transformations, Program repair, multiobjective optimization.

Cite as:

Zahra Varaminybahnemiry, Jessie Galasso, Houari Sahraoui, “Fixing Multiple Type Errors in Model Transformations with Alternative Oracles to Test Cases”, Journal of Object Technology, Volume 20, no. 3 (June 2021), pp. 9:1-14, doi:10.5381/jot.2021.20.3.a9.

PDF | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn

The JOT Journal   |   ISSN 1660-1769   |   DOI 10.5381/jot   |   AITO   |   Open Access   |    Contact