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

Autor: Khorram, Faezeh
Přispěvatelé: NaoMod - Nantes Software Modeling Group (LS2N - équipe NaoMod), Laboratoire des Sciences du Numérique de Nantes (LS2N), Institut National de Recherche en Informatique et en Automatique (Inria)-Centre National de la Recherche Scientifique (CNRS)-IMT Atlantique (IMT Atlantique), Institut Mines-Télécom [Paris] (IMT)-Institut Mines-Télécom [Paris] (IMT)-École Centrale de Nantes (Nantes Univ - ECN), Nantes Université (Nantes Univ)-Nantes Université (Nantes Univ)-Nantes université - UFR des Sciences et des Techniques (Nantes univ - UFR ST), Nantes Université - pôle Sciences et technologie, Nantes Université (Nantes Univ)-Nantes Université (Nantes Univ)-Nantes Université - pôle Sciences et technologie, Nantes Université (Nantes Univ)-Institut National de Recherche en Informatique et en Automatique (Inria)-Centre National de la Recherche Scientifique (CNRS)-IMT Atlantique (IMT Atlantique), Nantes Université (Nantes Univ), Département Automatique, Productique et Informatique (IMT Atlantique - DAPI), IMT Atlantique (IMT Atlantique), Institut Mines-Télécom [Paris] (IMT)-Institut Mines-Télécom [Paris] (IMT), Ecole nationale supérieure Mines-Télécom Atlantique, Gerson Sunyé
Jazyk: angličtina
Rok vydání: 2022
Předmět:
Zdroj: Modeling and Simulation. Ecole nationale supérieure Mines-Télécom Atlantique, 2022. English. ⟨NNT : 2022IMTA0332⟩
Popis: 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.
Databáze: OpenAIRE