A testing framework for executable domain-specific languages - TEL - Thèses en ligne Access content directly
Theses Year : 2022

A testing framework for executable domain-specific languages

Un environnement de test pour les langages dédiés exécutables

Abstract

The continuous growth of software complexity raises the need for effective complexity management. Model-Driven Engineering (MDE) is a development paradigm that meets this requirement by separating concerns through models. A model is a specific abstraction of a system that can be defined by a Domain-Specific Language (DSL). A DSL with execution facilities, referred to as Executable DSL (xDSL), enriches the modeling quality by enabling the employment of dynamic Verification & Validation (V&V) techniques. Testing is the most prevalent dynamic V&V technique in the field of software engineering. While many testing frameworks exist for general-purpose programming languages, providing testing facilities for any given xDSL remains a costly and challenging task. In this thesis, we propose a generic testing framework for executable DSLs. Given an xDSL, the framework provides a testing language that supports the use of xDSL-specific concepts in the definition of test cases. This enables the xDSL’s users, namely the domain experts, to write test cases for their models. The written test cases can be executed on the models and the test results will be produced. To further support the domain expert in efficiently testing models, the framework offers three supplementary services: (i) test quality measurement to ensure that the written test cases are good enough; (ii) test debugging to localize the fault of the model under test in case of test failure; and (iii) automatic test improvement to strengthen the ability of written test cases in detecting regression faults.
La croissance continue de la complexité des logiciels soulève le besoin d’une gestion efficace de la complexité. L’ingénierie dirigée par les modèles (IDM) est un paradigme de développement qui répond à ce problème par la mise en place d’une séparation des préoccupations à l’aide de modèles. Un modèle est une abstraction spécifique d’un système qui peut être défini par un langage de modélisation dédié (LMD). Un LMD doté de fonctions d’exécution, appelé un LMD exécutable (LMDx), offre de de nouvelles possibilités dans l’activité de modélisation en permettant l’utilisation de techniques de vérification et de validation (V&V) dynamiques. Le test est la technique de V&V dynamique actuellement la plus répandue dans le domaine du génie logiciel. Bien qu’il existe de nombreux environnements de test pour les langages de programmation, produire un outillage de test pour un LMDx donné reste aujourd’hui une tâche coûteuse et difficile. Dans cette thèse, nous proposons un environnement de test générique et réutilisable pour les LMD exécutables. Étant donné un LMDx, l’environnement fournit un langage de test qui prend en charge l’utilisation de concepts spécifiques au LMDx dans la définition de scénarios de test. Cela permet aux utilisateurs du LMDx, à savoir les experts du domaine, d’écrire des scénarios de test pour leurs modèles. Les scénarios de test écrits peuvent ensuite être exécutés sur les modèles, ce qui entraîne la production de résultats des tests. Pour aider davantage les experts du domaine à tester les modèles, l’environnement proposé offre trois services supplémentaires : (i) la mesure de la qualité des tests pour s’assurer que les scénarios de test écrits sont suffisamment bons ; (ii) le débogage des tests pour localiser le défaut du modèle testé en cas d’échec du test ; et (iii) l’amélioration automatique des tests pour renforcer la capacité des scénarios de test à détecter des régressions introduites dans les modèles testés.
Fichier principal
Vignette du fichier
2022IMTA0332_Khorram-Faezeh.pdf (29.96 Mo) Télécharger le fichier
Origin : Version validated by the jury (STAR)

Dates and versions

tel-03977604 , version 1 (07-02-2023)

Identifiers

  • HAL Id : tel-03977604 , version 1

Cite

Faezeh Khorram. A testing framework for executable domain-specific languages. Modeling and Simulation. Ecole nationale supérieure Mines-Télécom Atlantique, 2022. English. ⟨NNT : 2022IMTA0332⟩. ⟨tel-03977604⟩
161 View
24 Download

Share

Gmail Facebook X LinkedIn More