Compilation Formellement Vérifiée d'un Langage de Programmation Orienté Interaction

il y a 7 jours


Toulouse, Occitanie, France Ecole Nationale de l'Aviation Civile Temps plein
Compilation Formellement Vérifiée d'un Langage de Programmation Orienté Interaction // Formally Verified Compilation of an Interaction-Oriented Programming Language

Réf ABG-135084

ADUM-69063

Sujet de Thèse

13/01/2026

Ecole Nationale de l'Aviation Civile

Lieu de travail

TOULOUSE - Occitanie - France

Intitulé du sujet

Compilation Formellement Vérifiée d'un Langage de Programmation Orienté Interaction // Formally Verified Compilation of an Interaction-Oriented Programming Language

Champs scientifiques

  • Informatique

Mots clés

Informatique, Compilation, Méthode Formelle, Interaction, Langage de Programmation

Computer Science, Compilation, Formal Method, Interaction, Programming Language

Description du sujet

Avec la démocratisation des appareils interactifs, les utilisateurs s'attendent désormais à interagir avec leurs systèmes par le biais d'interactions tactiles et avancées. Pour faciliter la mise en œuvre de ces systèmes, des langages de programmation dédiés « orientés interaction » ont été proposés. Ces langages permettent de décrire efficacement à la fois l'apparence du système et son comportement interactif. Ils sont de plus en plus populaires, y compris pour le développement de systèmes critiques. Cependant, peu d'efforts ont été consacrés à la formalisation de ces langages, de leur sémantique ou de leur modèle d'exécution.

L'objectif de ce projet de recherche est de formaliser Smala, un langage orienté interaction développé à l'ENAC.

Smala est un langage réactif, dans lequel le programmeur spécifie la façon dont les événements extérieurs sont propagés et dont le programme réagit, en mettant à jour son état interne et en déclenchant des comportements observables. Ce programme déclaratif de haut niveau peut ensuite être compilé en code impératif qui implémente ces réactions.

Au cours de ce projet, le candidat formalisera le langage et sa sémantique, et implémentera sa compilation vers le langage de bas niveau C. Une partie importante du travail sera consacrée à la vérification de bout en bout du schéma de compilation : le candidat développera une preuve mécanisée que le programme C généré implémente bien le comportement spécifié par le programme source Smala.

Pour ce faire, le candidat utilisera principalement l'assistant de preuves interactif Rocq. En effet, celui-ci comprend des fonctionnalités pour la spécification (de la sémantique de Smala), l'écriture de programmes (le schéma de compilation en tant que programme purement fonctionnel) et les preuves vérifiées automatiquement (relant cette sémantique, la fonction de compilation et la sémantique du C telle que spécifiée dans le projet CompCert).

With the democratization of interactive devices, users now expect to interact with their systems through tactile and advanced interactions. To facilitate the implementation of these systems, dedicated "interaction-oriented" programming languages have been proposed. These languages can efficiently describe both the appearance of the system and the interactive behavior. They are becoming more popular, including for the development of critical systems. However, there has not yet been a lot of effort in formalizing these languages, their semantics or their execution model.

The goal of this research project is to formalize Smala, an interaction-oriented language developped at ENAC. Smala is, at its core, a reactive language, where bindings written by the programmer specify how outside events are propagated, and how the program reacts

by updating its internal state and trigger observable behaviors. This high-level, declarative program can then be compiled into imperative code

that implements these reactions.

During this project, the candidate will formalize the language and its semantics, and implement its compilation into the low-level language C. A significant amount of work will be dedicated to the end-to-end verification of the compilation scheme: the candidate will develop a mechanized proof that the generated C program does implement the behavior specified by the source Smala program. To do so, the candidate will use the Rocq prover as a primary tool. Indeed, it includes facilities for specification (of Smala's semantics), writing programs (the compilation scheme as a purely functional program), and automatically-checked proofs (relating these semantics, the compilation function, and the semantics of C as specified in the CompCert project).

Début de la thèse : 01/10/2026

Nature du financement
Précisions sur le financement

Concours de l'École Doctorale

Présentation établissement et labo d'accueil

Ecole Nationale de l'Aviation Civile

Etablissement délivrant le doctorat

Ecole Nationale de l'Aviation Civile

Ecole doctorale

309 SYSTEMES

Profil du candidat

Le candidat doit être titulaire d'un master (ou équivalent) en informatique. Le candidat doit être familiarisé avec
• les méthodes formelles
• le prouveur Rocq
• la programmation OCaml
• la compilation De plus, une connaissance de la programmation IHM et/ou des systèmes de gestion du trafic aérien sera appréciée.

The candidate should hold a master's degree (or equivalent) in computer science. The candidate should be familiar with
• formal methods
• the Rocq prover
• OCaml programming
• compilation In addition, knowledge of HMI programming and/or air traffic management systems will be appre- ciated.

Date limite de candidature

30/06/2026


  • Poste de doctorat

    il y a 2 semaines


    Toulouse, Occitanie, France Choisir le Service Public Temps plein

    Informations générales Organisme de rattachement CNRS   Référence UPR8001-ANABOL-001   Date de début de diffusion /12/2025 Date de parution /01/2026 Date de fin de diffusion /03/2026 VersantFonction Publique de l'Etat CatégorieCatégorie A (cadre) Nature de l'emploiEmploi ouvert uniquement aux contractuels Domaine / MétierRecherche -...


  • Toulouse, Occitanie, France Capgemini Temps plein

    Missions * Ecouter et analyser le besoin de nos clients ; * Développer et paramétrer la solution PLM (Windchill, 3DExperience, TeamCenter) en utilisant divers langages de programmation : Java, Python, C++, SQL ; * Argumenter les choix de conceptions et d'algorithmes ; * Tester unitairement les développements réalisés par l'équipe afin de valider les...


  • Toulouse, Occitanie, France AXEAL Temps plein

    ContexteDans le cadre du déploiement des exigences de contrôle des exportations pour les programmes Airbus, vous serez le référent fonctionnel chargé d'expliquer ces exigences aux architectes des applications PLM et de garantir leur prise en compte dans l'architecture, jusqu'au soutien à la mise en œuvre.MissionExpliquer les exigences Export Control...


  • Toulouse, Occitanie, France Choisir le Service Public Temps plein

    Informations générales Organisme de rattachement CNRS   Référence UMR5100-OLAREN-006   Date de début de diffusion /01/2026 Date de parution /01/2026 Date de fin de diffusion /02/2026 VersantFonction Publique de l'Etat CatégorieCatégorie A (cadre) Nature de l'emploiEmploi ouvert uniquement aux contractuels Domaine / MétierRecherche -...

  • Développeur PLM Windchill H/F

    il y a 2 semaines


    Toulouse, Occitanie, France Inetum Temps plein

    Description de l'entreprise Inetum est un leader européen des services numériques. Pour les entreprises, les acteurs publics et la société dans son ensemble, les consultants et spécialistes du groupe visent chaque jour l'impact digital : des solutions qui contribuent à la performance, à l'innovation et au bien commun.Présent dans 19 pays au plus...


  • Toulouse, Occitanie, France Sopra Steria Temps plein

    Description de l'entreprise CS, filiale du groupe Sopra Steria, est un acteur technologique de référence dans la conception, l'intégration et l'exploitation de systèmes critiques. Présents dans 7 pays avec plus de 2 600 collaborateurs passionnés, nous intervenons au cœur des enjeux de souveraineté, de sécurité et de performance, dans des secteurs...

  • Ingénieur Chimiste

    il y a 7 jours


    Toulouse, Occitanie, France Galenic Cosmetics Laboratory Temps plein

    Description de l'offre d'emploi L'ÉLÉGANCE AU SERVICE DE LA SCIENCELa mission de Galénic est d'unir science et beauté afin de redéfinir les standards du luxe. Nos produits allient haute performance, sécurité et qualité, fruits d'une recherche dermatologique de pointe et d'une innovation constante.Nous recherchons notre futur(e) Ingénieur chimiste...


  • Toulouse, Occitanie, France Toulouse Temps plein

    L'entreprise Partager nos valeurs : Engagement, Excellence, Innovation. Rejoindre des collègues investis dans une mission d'utilité publique et innovante. Travailler avec des équipes motivées pour garantir un haut niveau d'expérience adhérents. Description du posteFace à l'accélération de la transformation numérique dans le domaine de la santé,...

  • Lead Data Engineer

    il y a 2 semaines


    Toulouse, Occitanie, France Ippon Technologies Temps plein

    Qui sommes-nous ? Ippon, c'est l'énergie du collectif au service de la technologie Nous sommes un cabinet de conseil et d'expertise technique. Nos équipes ont pour leitmotive de transformer des idées innovantes en solutions logicielles de haute qualité avec un focus particulier sur la valeur apportée aux utilisateurs. Située en centre ville, notre...


  • Toulouse, Occitanie, France TESTIA FRANCE Temps plein

    Job Description:Testia SAS – Stage Qualité (H/F) - ToulouseTestia est une entreprise internationale spécialisée dans l'intégrité et les inspections d'aérostructures et le contrôle non destructif aéronautique.Grâce à son réseau mondial, avec des agences en Europe, en Amérique du Nord et en Asie, Testia peut fournir ses services à...