Affiliation:
1. Microsoft Research, USA
2. Microsoft Research, India
3. Carnegie Mellon University, USA
4. Inria, France
5. University of Ljubljana, Slovenia
6. CIFASIS-CONICET, Argentina
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 domain-specific languages and logics for verified, concurrent programming.
Funder
Horizon 2020 Framework Programme
European Research Council
Office of Naval Research
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference44 articles.
1. Recalling a witness: Foundations and applications of monotonic state;Ahman D.;PACMPL,2018
2. Interleaving data and efects;Atkey R.;Journal of Functional Programming,2015
3. Intrinsically-typed definitional interpreters for imperative languages
Cited by
14 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献