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

il y a 1 jour


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



  • Toulouse, Occitanie, France INRAE Occitanie-Toulouse Temps plein

    Retour à la liste des résultatsPrésentation INRAEL'Institut national de recherche pour l'agriculture, l'alimentation et l'environnement (INRAE) est un établissement public de recherche rassemblant une communauté de travail de personnes, avec 272 unités de recherche, de service et expérimentales, implantées dans 18 centres sur toute la France. INRAE...

  • IT Onsite Technician

    il y a 5 jours


    Toulouse, Occitanie, France D-ploy Temps plein

    D-ploy is an IT and Engineering Solutions company with operations throughout the EMEA region including Switzerland, Germany, Czech Republic, Austria, UK, as well as the USA. We pride ourselves on delivering innovative and superior services and solutions to numerous industry-leading clients. By building relationships and trusted partnerships within the IT...


  • Toulouse, Occitanie, France Free-Work Temps plein

    Prestation de Gestion de ProgrammeDans le cadre du Programme Diagoras, l'équipe DIS / SRE recherche une prestation d'accompagnement à la Gestion de Programme, couvrant plusieurs projets SRE intégrés au programme.Objectifs de la prestation:La mission consiste à accompagner la direction du programme sur :La gestion simultanée de plusieurs projets...


  • Toulouse, Occitanie, France Astek Temps plein

    Ce Que Nous Allons Accomplir EnsembleVous contribuerez au développement, à la mise au point et à la validation de programmes de test sur bancs pour des systèmes critiques dans le domaine spatial et de la défense.Votre mission vous l'acceptez ) :Vous développerez des programmes de test en langage C, adaptés aux exigences produit et bancs de test...


  • Toulouse, Occitanie, France Thales Temps plein

    Lieu : Toulouse, FranceConstruisons ensemble un avenir de confianceThales est un leader mondial des hautes technologies spécialisé dans trois secteurs d'activité : Défense & Sécurité, Aéronautique & Spatial, et Cyber & Digital. Il développe des produits et solutions qui contribuent à un monde plus sûr, plus respectueux de l'environnement et plus...

  • Responsable Programmes

    Il y a 49 minutes


    Toulouse, Occitanie, France STEP UP Temps plein

    STEP UP est une société d'ingénierie experte en pilotage de projets industriels et informatiques collaborateurs sur 11 agences en France), plaçant le potentiel humain comme 1er vecteur d'excellence et de performance en entreprise.Oubliez les sociétés d'ingénierie qui ne valorisent que vos seules compétences, chez STEP UP, nous visons également...


  • Toulouse, Occitanie, France CIEE Toulouse Temps plein

    Assistant(e)s de programme - Aerospace EngineeringCIEE Global Navigator High School Summer AbroadIntitulé du poste :   Assistant(e) de programmeTrois postes à pouvoir :Language & Culture Program Assistant / Aerospace Engineering Program Assistant / Assistant PolyvalentLieu de poste :CIEE Toulouse & Institut Catholique de ToulouseType de...


  • Toulouse, Occitanie, France SproClub Temps plein

    SPROCLUB est une école en ligne qui développe des programmes de formation spécialisés sur les logiciels professionnels d'entreprise. Nous renforçons l'équipe pédagogique avec un formateur clé qui sera responsable de programme(s) de formation sur le logiciel SAP.Actuellement, nous avons deux programmes sur SAP :Un programme "Super utilisateurs" pour...

  • Acheteur Senior

    il y a 2 semaines


    Toulouse, Occitanie, France SEGULA Technologies Temps plein

    Description de l'entrepriseAccélérez votre carrière au sein d'un groupe d'ingénierie mondial à forte croissance. Chez SEGULA Technologies, vous travaillerez sur des projets passionnants et contribuerez à façonner l'avenir au sein d'une entreprise pour qui l'innovation est indissociable de l'ingénierie.Impression 3D, réalité augmentée, véhicule...


  • Toulouse, Occitanie, France Astek Temps plein

    Ce Que Nous Allons Accomplir EnsembleRejoignez nos équipes industrielles internationales de premier plan, reconnues pour leursprojets technologiques d'envergure, leur excellence technique et leur environnement innovant. Au cœur de programmes stratégiques (notamment aérospatiaux), vous intégrerez une équipe passionnée quiconçoit et déploie des moyens...