Emploi
Assistant de carrière BÊTA J'estime mon salaire
Mon CV
Mes offres
Mes alertes
Se connecter
Trouver un emploi
TYPE DE CONTRAT
Emploi CDI/CDD
Missions d'intérim Offres d'alternance
Astuces emploi Fiches entreprises Fiches métiers
Rechercher

Compilation formellement vérifiée d'un langage de programmation orienté interaction // formally verified compilation of an interaction-oriented programming language

Toulouse
Ecole Nationale De L'Aviation Civile
Publiée le 13 janvier
Description de l'offre

Topic description

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/

Funding category

Funding further details

Concours de l'École Doctorale

Postuler
Créer une alerte
Alerte activée
Sauvegardée
Sauvegarder
Offre similaire
Gestionnaire en charge de la planification
Toulouse
Ecole Nationale De L'Aviation Civile
Offre similaire
Apprentissage d'un modèle de détection de conflits aériens à partir de données réelles // learning an air traffic conflict detection model from real data
Toulouse
Alternance
Ecole Nationale De L'Aviation Civile
Offre similaire
Gestionnaire en charge de la planification
Toulouse
CDD
Ecole Nationale De L'Aviation Civile
25 200 € par an
Voir plus d'offres d'emploi
Estimer mon salaire
JE DÉPOSE MON CV

En cliquant sur "JE DÉPOSE MON CV", vous acceptez nos CGU et déclarez avoir pris connaissance de la politique de protection des données du site jobijoba.com.

Offres similaires
Emploi Toulouse
Emploi Haute-Garonne
Emploi Midi-Pyrénées
Intérim Toulouse
Intérim Haute-Garonne
Intérim Midi-Pyrénées
Accueil > Emploi > Compilation Formellement Vérifiée d'un Langage de Programmation Orienté Interaction // Formally Verified Compilation of an Interaction-Oriented Programming Language

Jobijoba

  • Conseils emploi
  • Avis Entreprise

Trouvez des offres

  • Emplois par métier
  • Emplois par secteur
  • Emplois par société
  • Emplois par localité
  • Emplois par mots clés
  • Missions Intérim
  • Emploi Alternance

Contact / Partenariats

  • Contactez-nous
  • Publiez vos offres sur Jobijoba
  • Programme d'affiliation

Suivez Jobijoba sur  Linkedin

Mentions légales - Conditions générales d'utilisation - Politique de confidentialité - Gérer mes cookies - Accessibilité : Non conforme

© 2026 Jobijoba - Tous Droits Réservés

Les informations recueillies dans ce formulaire font l’objet d’un traitement informatique destiné à Jobijoba SA. Conformément à la loi « informatique et libertés » du 6 janvier 1978 modifiée, vous disposez d’un droit d’accès et de rectification aux informations qui vous concernent. Vous pouvez également, pour des motifs légitimes, vous opposer au traitement des données vous concernant. Pour en savoir plus, consultez vos droits sur le site de la CNIL.

Postuler
Créer une alerte
Alerte activée
Sauvegardée
Sauvegarder