Polyglot testing framework for DSLs

Publié le
Equipe
Date de début de thèse (si connue)
Septembre 2023
Lieu
IRISA, Rennes
Unité de recherche
IRISA - UMR 6074
Description du sujet de la thèse

 

Polyglot testing framework for DSLs

 

Context

The evolution of software engineering discipline has seen the emergence of a multitude of programming languages (PL), each dedicated to a particular application concern. Nowadays, complex software development often involves more than a single language for the implementation, referred to as polyglot programming [1, 2]. Indeed, we observe more and more software projects that are implemented with various PLs, in particular, to combine their strengths and counterbalance their weaknesses. 

In addition to mainstream languages, Domain Specific Languages (DSLs) are also built as languages dedicated for specific concerns with the right abstraction level [6]. Similarly, combining several DSLs with each other and coordinating the execution of their model instances is also a kind of polyglotism [7]. 

Problem and objectives

Polyglot programming of software does offer many advantages, however, they come with cost. One of the issues that arise is w.r.t. the evolution over time and the ability to analyze the impact of any changes with regression testing. In fact, when one program evolves, others may be impacted. However, as each program is usually tested separately [3, 4, 5], it becomes challenging to identify those impacts as polyglot regression testing is not supported. 

This is even more flagrant when it comes to testing domain-specific models. There is no support for a testing framework dedicated to a single DSL nor for a set of coordinated DSLs. Little work attempts to formalize tests [8,9], but lacks expressiveness for writing complex test cases and scenarios. A further work on [9] aimed at amplifying tests by addition of new tests [10].

The objectives for this first part can be formulated as the following research questions:

  • What are the requirements for a DSL testing framework? How can we generate it given a DSL specification? 
  • What kind of tests can we express for DSLs? Can we enable unit, integration, systems test cases for DSLs ?
  • What are the requirements for a Polyglot DSL testing framework? How can we obtain it? How to coordinate it with the DSL testing frameworks? 

Moreover, another issue rises w.r.t. evolution and co-evolution. When the models evolve, other related models must co-evolved accordingly. But, when tests are also available thanks to our testing framework for DSLs, the tests may also be impacted and must be co-evolved accordingly. 

The objectives for this second part can be formulated as the following research questions:

  • How to co-evolve the polyglot test cases w.r.t. the DSLs’ metamodels?
  • How to co-evolve the polyglot test cases w.r.t. the DSLs’ models’ and programs’ changes?

 

Environment

The research will be conducted in the DiverSE team, common to CNRS (IRISA) and Inria. The DiverSE team is located in Rennes. DiverSE’s research is in the field of software engineering. The team is actively involved in European, French and industrial projects and is composed of 9 professors/researchers, 20 PhD students, 4 post-docs and 3 engineers. The candidate will enroll in the doctoral school in computer science of the University of Rennes. The main supervizors of the PhD thesis will be Prof. Benoit Combemale (University of Rennes 1), Dr. Djamel Khelladi (CNRS) and Dr. Gunter Mussbacher (McGill).

Required or appreciated skills

The candidate will have strong skills in programming (especially object-oriented programming), programming languages (especially JVM-based languages), DSL frameworks, EMF, analysis and transformation, a good knowledge of polyglot programming with possibly practical experiences in one of the existing technologies (e.g., GraalVM). The position also requires autonomy, as well as excellent English speaking and writing skills.

Bibliographie

References

 

[1] Fabio Niephaus et al.. “Example-Based Live Programming for Everyone: Building Language-agnostic Tools for Live Programming with LSP and GraalVM”, Onward! 2020 

[2] McDirmid, Sean. “Usable live programming”, Onwards! 2013 

[3] Santolucito, Mark, William T. Hallahan, and Ruzica Piskac. “Live programming by example.” In Extended Abstracts of the CHI 2019 

[4] Hidehiko Masuhara, Shusuke Takahashi, Yusuke Izawa, Youyou Cong. “Toward a Multi-Language and Multi-Environment Framework for Live Programming”, LIVE 2020. 

[5] Würthinger, Thomas, et al. “One VM to rule them all”, Onward! 2013 

[6] Benoit Combemale, Robert France, Jean-Marc Jézéquel, Bernhard Rumpe, Jim R.H. Steel, et al.. Engineering Modeling Languages: Turning Domain Knowledge into Tools. Chapman and Hall/CRC, pp.398, 2016, 9781466583733. ⟨hal-01355374⟩

[7] Benoit Combemale, Julien Deantoni, Benoit Baudry, Robert B. France, Jean-Marc Jézéquel, et al.. Globalizing Modeling Languages. Computer, 2014, pp.10-13. ⟨hal-00994551⟩

[8] Bart Meyers, Romuald Deshayes, Levi Lucio, Eugene Syriani, Hans Vangheluwe, Manuel Wimmer:ProMoBox: A Framework for Generating Domain-Specific Property Languages. SLE 2014: 1-20

[9] Khorram, F., Bousse, E., Mottu, J. M., & Sunyé, G. (2021). Adapting TDL to Provide Testing Support for Executable DSLs. The Journal of Object Technology, 20(3), 6-1.

[10] Khorram, F., Bousse, E., Mottu, J. M., Sunyé, G., Gómez-Abajo, P., Cañizares, P. C., ... & de Lara, J. (2022, October). Automatic test amplification for executable models. In Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems (pp. 109-120).

Liste des encadrants et encadrantes de thèse

Nom, Prénom
Combemale, Benoit
Type d'encadrement
Directeur.trice de thèse
Unité de recherche
UMR 6074
Equipe

Nom, Prénom
Khelladi, Djamel Eddine
Type d'encadrement
Co-encadrant.e
Unité de recherche
UMR 6074
Equipe

Nom, Prénom
Mussbacher, Gunter
Type d'encadrement
Co-encadrant.e
Unité de recherche
Inria
Equipe
Contact·s
Nom
Combemale, Benoit
Email
benoit.combemale@irisa.fr
Nom
Khelladi, Djamel Eddine
Email
djamel-eddine.khelladi@irisa.fr
Mots-clés
DSLs, Polyglot, testing