Melocoton: A Program Logic for Verified Interoperability Between OCaml and C - Inria - Institut national de recherche en sciences et technologies du numérique
Communication Dans Un Congrès Année : 2023

Melocoton: A Program Logic for Verified Interoperability Between OCaml and C

Résumé

In recent years, there has been tremendous progress on developing program logics for verifying the correctness of programs in a rich and diverse array of languages. Thus far, however, such logics have assumed that programs are written entirely in a single programming language. In practice, this assumption rarely holds since programs are often composed of components written in different programming languages, which interact with one another via some kind of foreign function interface (FFI). In this paper, we take the first steps towards the goal of developing program logics for multi-language verification. Specifically, we present Melocoton, a multi-language program verification system for reasoning about OCaml, C, and their interactions through the OCaml FFI. Melocoton consists of the first formal semantics of (a large subset of) the OCaml FFI-previously only described in prose in the OCaml manual-as well as the first program logic to reason about the interactions of program components written in OCaml and C. Melocoton is fully mechanized in Coq on top of the Iris separation logic framework.
Fichier principal
Vignette du fichier
melocoton.pdf (445.89 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Licence

Dates et versions

hal-04203298 , version 1 (11-09-2023)
hal-04203298 , version 2 (06-11-2023)

Licence

Identifiants

Citer

Armaël Guéneau, Johannes Hostert, Simon Spies, Michael Sammler, Lars Birkedal, et al.. Melocoton: A Program Logic for Verified Interoperability Between OCaml and C. OOPSLA 2023 - Object-Oriented Programming, Systems, Languages & Applications 2023, SIGPLAN, Oct 2023, Cascais, Portugal. ⟨10.1145/3622823⟩. ⟨hal-04203298v2⟩
137 Consultations
65 Téléchargements

Altmetric

Partager

More