A language-parametric test amplification framework for executable domain-specific languages.

Saved in:
Bibliographic Details
Title: A language-parametric test amplification framework for executable domain-specific languages.
Authors: Khorram, Faezeh1 (AUTHOR) faezeh.khorram@inria.fr, Bousse, Erwan2 (AUTHOR) erwan.bousse@ls2n.fr, Mottu, Jean-Marie2 (AUTHOR) jean-marie.mottu@ls2n.fr, Sunyé, Gerson2 (AUTHOR) gerson.sunye@ls2n.fr, Khelladi, Djamel Eddine1 (AUTHOR) djamel-eddine.khelladi@irisa.fr, Gómez-Abajo, Pablo3 (AUTHOR) pablo.gomeza@uam.es, Cañizares, Pablo C.4 (AUTHOR) pablocc@ucm.es, Guerra, Esther3 (AUTHOR) esther.guerra@uam.es, de Lara, Juan3 (AUTHOR) juan.delara@uam.es
Source: Software & Systems Modeling. Aug2025, Vol. 24 Issue 4, p1187-1212. 26p.
Subjects: Domain-specific programming languages, Regression testing (Computer science), Scientific observation, Scientific models, Software development tools, Software verification, Dynamic testing
Abstract: Behavioral models are important assets that must be thoroughly verified early in the design process. This can be achieved with manually-written test cases that embed carefully hand-picked domain-specific input data. However, such test cases may not always reach the desired level of quality, such as high coverage or being able to localize faults efficiently. Test amplification is an interesting emergent approach to improve a test suite by automatically generating new test cases out of existing manually-written ones. Yet, while ad-hoc test amplification solutions have been proposed for a few programming languages, no solution currently exists for amplifying the test suites of behavioral models. In order to fill this gap, we propose an automated and generic test amplification approach for executable domain-specific languages (DSLs). Hence, given an executable DSL, a conforming behavioral model, and an existing test suite, our approach synthesizes new regression test cases in three steps: (i) generating new test inputs by applying a set of generic modifiers on the existing test inputs; (ii) running the model under test with new inputs and generating assertions from the execution traces; and (iii) selecting the new test cases that increase the initial test quality. We provide a textual DSL to control and configure the amplification process, along with tool support for the whole approach atop the Eclipse GEMOC Studio. For assessment, we report on empirical evaluations over two different executable DSLs, which show improved test quality in terms of both coverage and mutation score. [ABSTRACT FROM AUTHOR]
Copyright of Software & Systems Modeling is the property of Springer Nature and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
Full text is not displayed to guests.
Description
Abstract:Behavioral models are important assets that must be thoroughly verified early in the design process. This can be achieved with manually-written test cases that embed carefully hand-picked domain-specific input data. However, such test cases may not always reach the desired level of quality, such as high coverage or being able to localize faults efficiently. Test amplification is an interesting emergent approach to improve a test suite by automatically generating new test cases out of existing manually-written ones. Yet, while ad-hoc test amplification solutions have been proposed for a few programming languages, no solution currently exists for amplifying the test suites of behavioral models. In order to fill this gap, we propose an automated and generic test amplification approach for executable domain-specific languages (DSLs). Hence, given an executable DSL, a conforming behavioral model, and an existing test suite, our approach synthesizes new regression test cases in three steps: (i) generating new test inputs by applying a set of generic modifiers on the existing test inputs; (ii) running the model under test with new inputs and generating assertions from the execution traces; and (iii) selecting the new test cases that increase the initial test quality. We provide a textual DSL to control and configure the amplification process, along with tool support for the whole approach atop the Eclipse GEMOC Studio. For assessment, we report on empirical evaluations over two different executable DSLs, which show improved test quality in terms of both coverage and mutation score. [ABSTRACT FROM AUTHOR]
ISSN:16191366
DOI:10.1007/s10270-025-01283-4