Formalising Futures and Promises in Viper - Inria - Institut national de recherche en sciences et technologies du numérique
Communication Dans Un Congrès Année : 2022

Formalising Futures and Promises in Viper

Résumé

Futures and promises are respectively a read-only and a write-once pointer to a placeholder in memory. They are used to transfer information between threads in the context of asynchronous concurrent programming. Futures and promises simplify the implementation of synchronisation mechanisms between threads. Nonetheless they can be error prone as data races may arise when references are shared and transferred. We aim at providing a formal tool to detect those errors. Hence, in this paper we propose a proof of concept by implementing the future/promise mechanism in Viper: a verification infrastructure, that provides a way to reason about resource ownership in programs.
Fichier principal
Vignette du fichier
jfla22_paper_12.pdf (323.25 Ko) Télécharger le fichier
Origine Fichiers éditeurs autorisés sur une archive ouverte

Dates et versions

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

Identifiants

  • HAL Id : hal-03626843 , version 1

Citer

Cinzia Giusto, Loïc Germerie Guizouarn, Ludovic Henrio, Etienne Lozes. Formalising Futures and Promises in Viper. JFLA 2022 - 33èmes Journées Francophones des Langages Applicatifs, Jun 2022, Saint-Médard-d'Excideuil, France. pp.165-183. ⟨hal-03626843⟩
192 Consultations
270 Téléchargements

Partager

More