Démonstration de Steel, une logique de séparation concurrente pour prouver des programmes F* (démonstration) - Inria - Institut national de recherche en sciences et technologies du numérique
Communication Dans Un Congrès Année : 2022

Démonstration de Steel, une logique de séparation concurrente pour prouver des programmes F* (démonstration)

Aymeric Fromherz
Antonin Reitz
  • Fonction : Auteur
  • PersonId : 1131430

Résumé

Steel est un framework pour développer et prouver des programmes concurrents écrits en F , un langage de programmation avec types dépendants ainsi qu'un assistant de preuve. Inspiré par Iris, Steel repose sur une logique de séparation concurrente imprédicative qui inclut un modèle mémoire fondé sur des monoïdes commutatifs partiels et permet l'utilisation d'invariants alloués dynamiquement pour raisonner sur des interactions concurrentes sans recourir à des verrous ("locks"). Afin d'offrir une vérification semi-automatique, Steel sépare les obligations de preuves générées en deux parties : une procédure de décision partielle, implémentée à l'aide du moteur de tactiques de F , raisonne sur la logique de séparation tandis qu'un solveur SMT permet de décharger automatiquement des obligations de preuves exprimées en logique du premier ordre, par exemple liées à de l'arithmétique. Dans cette démonstration, nous présentons plusieurs bibliothèques vérifiées qui illustrent l'expressivité et la programmabilité de Steel.
Fichier principal
Vignette du fichier
jfla22_paper_25.pdf (266.13 Ko) Télécharger le fichier
Origine Fichiers éditeurs autorisés sur une archive ouverte

Dates et versions

hal-03626859 , version 1 (31-03-2022)

Identifiants

  • HAL Id : hal-03626859 , version 1

Citer

Aymeric Fromherz, Antonin Reitz. Démonstration de Steel, une logique de séparation concurrente pour prouver des programmes F* (démonstration). 33èmes Journées Francophones des Langages Applicatifs, Jun 2022, Saint-Médard-d'Excideuil, France. pp.269-271. ⟨hal-03626859⟩
73 Consultations
35 Téléchargements

Partager

More