SEET: Symbolic Execution of ETL Transformations

Model transformations are known as the main pillar of model-driven approaches. A model transformation is a program, written in a transformation language, to convert a model into another model or code. Similar to any other program, model transformations need to be verified. The problem is that some t...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:The Journal of systems and software 2020-10, Vol.168, p.110675, Article 110675
Hauptverfasser: Azizi, Banafsheh, Zamani, Bahman, Kolahdouz-Rahimi, Shekoufeh
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Model transformations are known as the main pillar of model-driven approaches. A model transformation is a program, written in a transformation language, to convert a model into another model or code. Similar to any other program, model transformations need to be verified. The problem is that some transformation errors, e.g., logical errors, can only be detected via execution. Our focus in this research is on the Epsilon Transformation Language (ETL), one of the most extensively used model transformation languages. Lack of approaches to detecting logical errors in ETL transformations is a gap which needs to be addressed. In this paper, we present an approach to symbolic execution of ETL transformations and detecting logical errors. The approach uses a constraint solver to assess the satisfiability of a path condition and generates a symbolic metamodel footprint which can be used to detect errors. The approach is corroborated by a tool that is integrated with Eclipse. To evaluate the approach, the precision and recall are calculated for two well-known case studies. The scalability is evaluated via nine experiments. The usefulness and usability aspects are evaluated in a subjective manner. The results show the improvement in the field of verifying ETL transformations. •We proposed an approach for detecting logical errors in ETL transformations.•To put this idea into practice, the SEET approach and tool are presented drawing upon symbolic execution.•The correctness and completeness of SEET are evaluated via mutations on two case studies.•The scalability of SEET is presented with an experiment on nine case studies.•The usefulness and usability of SEET are evaluated in a subjective manner.
ISSN:0164-1212
1873-1228
DOI:10.1016/j.jss.2020.110675