SteelCore: an extensible concurrent separation logic for effectful dependently typed programs - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Journal Articles Proceedings of the ACM on Programming Languages Year : 2020

SteelCore: an extensible concurrent separation logic for effectful dependently typed programs

Abstract

Much recent research has been devoted to modeling effects within type theory. Building on this work, we observe that effectful type theories can provide a foundation on which to build semantics for more complex programming constructs and program logics, extending the reasoning principles that apply within the host effectful type theory itself.Concretely, our main contribution is a semantics for concurrent separation logic (CSL) within the F★ proof assistant in a manner that enables dependently typed, effectful F★ programs to make use of concurrency and to be specified and verified using a full-featured, extensible CSL. In contrast to prior approaches, we directly derive the partial-correctness Hoare rules for CSL from the denotation of computations in the effectful semantics of non-deterministically interleaved atomic actions.Demonstrating the flexibility of our semantics, we build generic, verified libraries that support various concurrency constructs, ranging from dynamically allocated, storable spin locks, to protocol-indexed channels. We conclude that our effectful semantics provides a simple yet expressive basis on which to layer domainspecific languages and logics for verified, concurrent programming.
Fichier principal
Vignette du fichier
CONICET_Digital_Nro.a31a7004-63db-4537-9d73-f9232a2d9a26_A.pdf (698.31 Ko) Télécharger le fichier
Origin Publication funded by an institution

Dates and versions

hal-02936273 , version 1 (08-04-2024)

Identifiers

Cite

Nikhil Swamy, Aseem Rastogi, Aymeric Fromherz, Denis Merigoux, Danel Ahman, et al.. SteelCore: an extensible concurrent separation logic for effectful dependently typed programs. Proceedings of the ACM on Programming Languages, 2020, 4 (ICFP), pp.1-30. ⟨10.1145/3409003⟩. ⟨hal-02936273⟩

Collections

INRIA INRIA2
120 View
1 Download

Altmetric

Share

Gmail Mastodon Facebook X LinkedIn More