Industrial Experiences with a Formal DSL Semantics to Check Correctness of DSL Transformations
Sarmen Keshishzadeh, Arjan J. Mooij, Jozef Hooman

TL;DR
This paper discusses the use of formal semantics in a DSL to ensure correctness of transformations, highlighting industrial experiences with formal techniques like equivalence checking and model-based testing.
Contribution
It introduces a formal semantics approach for DSL transformations and demonstrates its practical application in an industrial setting to verify consistency.
Findings
Formal semantics improves correctness verification of DSL transformations.
Industrial case studies validate the effectiveness of formal techniques.
Consistency checking prevents errors in generated artifacts.
Abstract
A domain specific language (DSL) abstracts from implementation details and is aligned with the way domain experts reason about a software component. The development of DSLs is usually centered around a grammar and transformations that generate implementation code or analysis models. The semantics of the language is often defined implicitly and in terms of a transformation to implementation code. In the presence of multiple transformations from the DSL, the consistency of the generated artifacts with respect to the semantics of the DSL is a relevant issue. We show that a formal semantics is essential for checking the consistency between the generated artifacts. We exploit the formal semantics in an industrial project and use formal techniques based on equivalence checking and model-based testing for consistency checking. We report about our experience with this approach in an industrial…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Model-Driven Software Engineering Techniques · Formal Methods in Verification
