Generisches White-Box Testframework für Modelltransformation
A Generic White-Box Testing Framework for Model Transformations
Wissenschaftsdisziplinen
Informatik (100%)
Keywords
-
Model Transformation,
Model Transformation Testing,
Model-Driven Engineering,
White-Box Testing
Das Projekt TETRABox Ein Generisches White-Box Testframework für Modelltransformationen steht im Kontext der Modellgetriebenen Softwareentwicklung. Modellgetriebene Softwareentwicklungsansätze stellen Modelle in den Mittelpunkt der Betrachtung und erhöhen so den Abstraktionsgrad der Entwicklung. Modelle werden durch automatisierte Transformationen in ausführbaren Quellcode überführt, um so die Produktivität wie auch die Qualität zu verbessern. Angesichts der prominenten Rolle von Transformationen und des verstärkten Einsatzes in sicherheitskritischen Bereichen wie beispielsweise der Flugzeugindustrie sind adäquate Testmethoden zur Sicherstellung der Korrektheit von Modelltransformationen von eminenter Bedeutung. Erste verfügbare Test-Frameworks für Modelltransformationen fokussieren allerdings zum einen nur auf gewisse Teilbereiche des Testprozesses, wobei insbesondere die zentralen Phasen der Testmodellgenerierung sowie der Fehlerlokalisierung momentan noch wenig Berücksichtigung finden und sind zum anderen an bestimmte Teststrategien und Transformationssprachen gebunden. Existierende Ansätze zur Testmodellgenerierung basieren zumeist auf black-box Techniken, d.h. die Transformationsdefinition selbst bleibt unberücksichtigt, was zu nicht getesteten Transformationsteilen führen kann. Schließlich fehlen Ansätze zur Fehlerlokalisierung, da bestehende Testansätze nur das Fehlschlagen eines Testfalles erkennen, eine präzise Identifikation der fehlgeschlagenen Teile einer Transformation jedoch nicht erfolgt. Das Ziel dieses Projekts besteht daher darin, ein umfassendes Testframework für Modelltransformationen namens TETRABox zur Verfügung zu stellen, dessen Konzeption und Realisierung in hohem Maße auf den im Zuge des Vorgänger-Projekts "TROPIC" gewonnenen Erfahrungen aufbaut. Dabei soll TETRABox alle Testphasen beginnend mit der Testmodellgenerierung bis hin zur Fehlerlokalisierung mit Hilfe von konfigurierbaren Komponenten unterstützen. Um eine breite Anwendbarkeit von TETRABox zu gewährleisten, sollen die Testkomponenten unabhängig von einer bestimmten Transformationssprache entwickelt werden, wobei die Einbindung neuer Transformationssprachen durch Abbildung auf einen gemeinsamen Formalismus in Form eines Kontrollflussgraphen ermöglicht wird. Darüber hinaus, erlaubt TETRABox die Testmodellgenerierung auf Basis der Transformationsdefinition im Sinne vonwhite-box Testen mittels symbolischer Ausführung. Zur Fehlerlokalisierung werden Orakel-Funktionen eingesetzt, die eine präzise Identifikation der fehlerhaften Teile einer Transformation ermöglichen und so einen Einstiegspunkt für die Debugging-Phase liefern. Die Evaluierung des TETRABox Frameworks basiert auf drei methodischen Säulen. Zunächst soll die Effektivität der Testmodellgenerierung durch Mutationstesten von existierenden Transformationen aus dem ATL Model Transformation Zoo gemessen, sowie die Ergebnisse mit existierenden Testtechniken verglichen werden. Die Präzision der Fehlerlokalisierung soll mit Hilfe einer empirischen Studie mit ca. 200 Studenten unserer Model Engineering Lehrveranstaltungen evaluiert werden, wobei zu diesem Zweck unterschiedliche Arten von Fehlern gezielt in existierende Transformationen eingefügt werden, die von den Studenten mit und ohne TETRABox gefunden werden müssen. Schließlich sollen die Ergebnisse der Evaluierung sowie die Funktionalität des Frameworks gemeinsam mit unseren (inter-)nationalen Kollaborationspartnern im Rahmen von Workshops diskutiert werden, um so ein gemeinsames Verständnis des Nutzens von TETRABox zu erreichen. In Summe, würde die Realisierung von TETRABox die Realisierung der Vision der Modellgetriebenen Softwareentwicklung einen Schritt näher rücken lassen.
Modelltransformationen sind eine Schlüsseltechnologie für den Erfolg der Modellgetriebenen Entwicklung. Die Kernidee der Modellgetriebenen Entwicklung ist es, Softwaresysteme auf einer höheren Abstraktionsebene durch ein Netzwerk von Modellen zu spezifizieren, bevor diese Softwaresysteme mittels Codegenerierung für bestimmte Plattformen realisiert werden. Modelltransformationen unterstützen nicht nur die Manipulation bestehender Modelle, sie erlauben auch die Generierung neuer Modelle, indem für bestimmte Zwecke (z.B. Performanz- oder Sicherheitsanalysen) Informationen hinzugefügt oder entfernt werden (Stichwort: Fokussierung). Aufgrund ihrer herausragenden Rolle in der Modellgetriebenen Entwicklung und ihrer zunehmenden Verwendung in sicherheitskritischen Bereichen (wie Produktionstechnik, Automotive oder Smart Cities) werden systematische Techniken zum Testen der Korrektheit von Modelltransformationen dringend benötigt. Obwohl in der Vergangenheit erste Testansätze für Modelltransformationen vorgeschlagen wurden, zeigen diese Limitierungen für wichtige Testphasen wie der Auswahl der relevanten Testmodelle sowie der Fehlerlokalisierung in Modelltransformationen. Darüber hinaus sind bestehende Ansätze meistens spezifisch für eine Modelltransformationssprache und berücksichtigen nicht die innere Transformationsstruktur sowie Informationen über den Testprozessfortschritt. Um das Testen von Modelltransformationen besser zu unterstützen, wurde in diesem Projekt ein umfassendes Testrahmenwerk für Modelltransformationen namens TETRABox (A Generic White-Box TEsting Framework for Model TRAnsformations) entwickelt. TETRABox unterstützt alle Testphasen, von der Testfallauswahl bis zur Fehlerlokalisierung unter Berücksichtigung der inneren Struktur von Transformationen sowie des Testfortschritts. Um TETRABox für beliebige Transformationssprachen zur Verfügung zu stellen, wurden wiederverwendbare Konzepte entwickelt, die unabhängig von bestimmten Transformationssprachen definiert wurden. Gleichzeitig wurden diese Konzepte für bestimmte Modelltransformationssprachen wie die ATLAS Transformation Language (ATL) instanziiert um deren Anwendbarkeit zu demonstrieren. Zusätzlich wurde eine generische Unterstützung für das Testing & Debugging von ausführbaren Modellierungssprachen (Modelltransformationssprachen können als eine spezielle Art von ausführbaren Modellierungssprachen angesehen werden) in der offenen Sprachentwicklungsumgebung GEMOC realisiert. Diese Erweiterungen unterstützen uns bei der Spezifikation bestehender und zukünftiger Modelltransformationssprachen und bieten automatisch Unterstützung für Testing & Debugging von Modelltransformationen in einer integrierten Werkzeugumgebung.
- Universität Linz - 100%
- Jordi Cabot, Luxembourg Institute of Science and Technology - Luxemburg
- Juan De Lara, Ciudad Universitaria de Cantoblanco - Spanien
- Antonio Vallecillo, Universidad de Málaga - Spanien
Research Output
- 507 Zitationen
- 31 Publikationen
- 7 Wissenschaftliche Auszeichnungen
- 2 Weitere Förderungen
-
2022
Titel Behavioral Typing to Support Offline and Online Analysis for Executable DSLs DOI 10.34726/hss.2022.102464 Typ Other Autor Leroy D Link Publikation -
2022
Titel Model Transformation Testing and Debugging: A Survey DOI 10.1145/3523056 Typ Journal Article Autor Troya J Journal ACM Computing Surveys Seiten 1-39 Link Publikation -
2024
Titel Measuring the Fidelity of a Physical and a Digital Twin Using Trace Alignments DOI 10.1109/tse.2024.3462978 Typ Journal Article Autor Muñoz P Journal IEEE Transactions on Software Engineering Seiten 3122-3145 -
2020
Titel Behavioral Interfaces for Executable DSLs DOI 10.18420/se2021_25 Typ Other Autor Bousse E Link Publikation -
2020
Titel Runtime Monitoring for Executable DSLs. DOI 10.5381/jot.2020.19.2.a6 Typ Journal Article Autor Leroy D Journal The Journal of Object Technology Seiten 6:1 Link Publikation -
2020
Titel Efficient Execution of ATL Model Transformations Using Static Analysis and Parallelism DOI 10.1109/tse.2020.3011388 Typ Journal Article Autor Cuadrado J Journal IEEE Transactions on Software Engineering Seiten 1097-1114 Link Publikation -
2019
Titel On the Need for Data-Based Model-Driven Engineering DOI 10.1007/978-3-030-25312-7_5 Typ Book Chapter Autor Mazak A Verlag Springer Nature Seiten 103-127 -
2019
Titel Managing inter-model inconsistencies in model-based systems engineering: Application in automated production systems engineering DOI 10.1016/j.jss.2019.03.060 Typ Journal Article Autor Feldmann S Journal Journal of Systems and Software Seiten 105-134 -
2019
Titel Automated metamodel/model co-evolution: A search-based approach DOI 10.1016/j.infsof.2018.09.003 Typ Journal Article Autor Kessentini W Journal Information and Software Technology Seiten 49-67 -
2019
Titel Domain-Specific Model Distance Measures. DOI 10.5381/jot.2019.18.3.a3 Typ Journal Article Autor Syriani E Journal The Journal of Object Technology Seiten 3:1 Link Publikation -
2019
Titel Searching for Optimal Models: Comparing Two Encoding Approaches. DOI 10.5381/jot.2019.18.3.a6 Typ Journal Article Autor John S Journal The Journal of Object Technology Seiten 6:1 Link Publikation -
2019
Titel Model-driven Runtime State Identification Typ Conference Proceeding Abstract Autor Mazak Alexandra Konferenz 40 Years EMISA 2019 Seiten 29-44 Link Publikation -
2019
Titel Domain-Level Observation and Control for Compiled Executable DSLs DOI 10.1109/models.2019.000-6 Typ Conference Proceeding Abstract Autor Bousse E Seiten 150-160 Link Publikation -
2019
Titel Thirteen years of SysML: a systematic mapping study DOI 10.1007/s10270-019-00735-y Typ Journal Article Autor Wolny S Journal Software and Systems Modeling Seiten 111-169 Link Publikation -
2018
Titel Automated Co-evolution of Metamodels and Transformation Rules: A Search-Based Approach DOI 10.1007/978-3-319-99241-9_12 Typ Book Chapter Autor Kessentini W Verlag Springer Nature Seiten 229-245 -
2016
Titel On Leveraging Executable Language Engineering for Domain-Specific Transformation Languages Typ Conference Proceeding Abstract Autor Bousse Erwan Konferenz Proceedings of the 2nd International Workshop on Executable Modeling (EXE 2016) @ MODELS 2016 Seiten 41-43 Link Publikation -
2016
Titel Execution framework of the GEMOC studio (tool demo) DOI 10.1145/2997364.2997384 Typ Conference Proceeding Abstract Autor Bousse E Seiten 84-89 Link Publikation -
2016
Titel Proceedings of the 2016 ACM SIGPLAN International Conference on Software Language Engineering, SLE 2016 DOI 10.1145/2997364 Typ Journal Article -
2018
Titel Omniscient debugging for executable DSLs DOI 10.1016/j.jss.2017.11.025 Typ Journal Article Autor Bousse E Journal Journal of Systems and Software Seiten 261-288 Link Publikation -
2018
Titel Trace Comprehension Operators for Executable DSLs DOI 10.1007/978-3-319-92997-2_19 Typ Book Chapter Autor Leroy D Verlag Springer Nature Seiten 293-310 -
2018
Titel Concern-oriented language development (COLD): Fostering reuse in language engineering DOI 10.1016/j.cl.2018.05.004 Typ Journal Article Autor Combemale B Journal Computer Languages, Systems & Structures Seiten 139-155 Link Publikation -
2020
Titel On the value of quality attributes for refactoring ATL model transformations: A multi-objective approach DOI 10.1016/j.infsof.2019.106243 Typ Journal Article Autor Alkhazi B Journal Information and Software Technology Seiten 106243 -
2020
Titel Towards Integrating Data-Driven Requirements Engineering into the Software Development Process: A Vision Paper DOI 10.1007/978-3-030-44429-7_10 Typ Book Chapter Autor Franch X Verlag Springer Nature Seiten 135-142 -
2020
Titel Multi-criteria test cases selection for model transformations DOI 10.1007/s10515-020-00271-w Typ Journal Article Autor Alkhazi B Journal Automated Software Engineering Seiten 91-118 -
2020
Titel Towards a Model-Based DevOps for Cyber-Physical Systems DOI 10.1007/978-3-030-39306-9_6 Typ Book Chapter Autor Combemale B Verlag Springer Nature Seiten 84-94 -
2020
Titel Behavioral interfaces for executable DSLs DOI 10.1007/s10270-020-00798-2 Typ Journal Article Autor Leroy D Journal Software and Systems Modeling Seiten 1015-1043 Link Publikation -
2017
Titel A local and global tour on MOMoT DOI 10.1007/s10270-017-0644-3 Typ Journal Article Autor Bill R Journal Software & Systems Modeling Seiten 1017-1046 -
2017
Titel A Feature-Based Approach for Variability Exploration and Resolution in Model Transformation Migration DOI 10.1007/978-3-319-61482-3_5 Typ Book Chapter Autor Di Ruscio D Verlag Springer Nature Seiten 71-89 -
2017
Titel Advanced and efficient execution trace management for executable domain-specific modeling languages DOI 10.1007/s10270-017-0598-5 Typ Journal Article Autor Bousse E Journal Software & Systems Modeling Seiten 1-37 Link Publikation -
2017
Titel Domain-Level Debugging for Compiled DSLs with the GEMOC Studio Typ Conference Proceeding Abstract Autor Bousse Erwan Konferenz Proceedings of the 1rst International Workshop on Debugging in Model-Driven Engineering (MDEbug) @ MODELS Seiten 457-459 Link Publikation -
2017
Titel Create and Play Your Pac-Man Game with the GEMOC Studio Typ Conference Proceeding Abstract Autor Bousse Erwan Konferenz Proceedings of the 3rd International Workshop on Executable Modeling (EXE) @ MODELS Seiten 84-87 Link Publikation
-
2020
Titel Keynote Talk at EDOC 2020 Conference Typ Personally asked as a key note speaker to a conference Bekanntheitsgrad Continental/International -
2019
Titel Editorial Board Member of IEEE Transactions on Automation Science and Engineering Typ Appointed as the editor/advisor to a journal or book series Bekanntheitsgrad Continental/International -
2019
Titel Editorial Board Member of Journal of Object Technology Typ Appointed as the editor/advisor to a journal or book series Bekanntheitsgrad Continental/International -
2019
Titel Keynote Talk at FlexMDE Workshop @ MODELS 2019 Typ Personally asked as a key note speaker to a conference Bekanntheitsgrad Continental/International -
2018
Titel Keynote Talk at RunMDE Workshop @ STAF 2018 Typ Personally asked as a key note speaker to a conference Bekanntheitsgrad Continental/International -
2018
Titel Keynote Talk at PNSE Workshop @ PetriNets 2018 Typ Personally asked as a key note speaker to a conference Bekanntheitsgrad Continental/International -
2017
Titel Editorial Board Member of Software and Systems Modeling Journal Typ Appointed as the editor/advisor to a journal or book series Bekanntheitsgrad Continental/International
-
2021
Titel AIDOaRt: AI-augmented DevOps, a model-based framework for continuous development At RunTime for CPSs, H2020-ECSEL-2020 Typ Research grant (including intramural programme) Förderbeginn 2021 -
2019
Titel (Lowcomote) - Training the Next Generation of Experts in Scalable Low-Code Engineering Platforms Typ Research grant (including intramural programme) Förderbeginn 2019