PulseCore: An Impredicative Concurrent Separation Logic for Dependently Typed Programs
PulseCore is a new program logic suitable for intrinsic proofs of higher-order, stateful, concurrent, dependently typed programs. It provides many of the features of a modern, concurrent separation logic, including dynamically allocated impredicative invariants, higher-order ghost state, step-indexing with later credits, and support for user-defined ghost state constructions. PulseCore is developed foundationally within the F★ programming language with fully mechanized proofs, and is applicable to F★ programs itself.
To evaluate our work, we use Pulse, a surface language within F★ for PulseCore, to develop a range of program proofs. Illustrating its suitability for proving higher-order concurrent programs, we present a verified library for task pools in the style of OCaml5, together with some verified task-parallel programs. Next, we present various data structures and synchronization primitives, including a barrier that requires the use of higher-order ghost state. Finally, we present a verified implementation of the DICE Protection Environment, an industry standard secure boot protocol. Taken together, our evaluation consists of more than 31,000 lines of verified code in a range of settings, providing evidence that PulseCore is both highly expressive as well as practical for a variety of program proof applications.
Slides (pldi25_pulse.pdf) | 542KiB |
Fri 20 JunDisplayed time zone: Seoul change
14:00 - 15:20 | Static Anlysis and VerificationPLDI Research Papers at Orchid Chair(s): Manu Sridharan University of California at Riverside | ||
14:00 20mTalk | PulseCore: An Impredicative Concurrent Separation Logic for Dependently Typed Programs PLDI Research Papers Gabriel Ebner Microsoft Research, Guido Martínez Microsoft Research, Aseem Rastogi Microsoft Research, Thibault Dardinier ETH Zurich, Megan Frisella University of Washington, Tahina Ramananandro Microsoft Research, Nikhil Swamy Microsoft Research DOI File Attached | ||
14:20 20mTalk | LiDO-DAG: A Framework for Verifying Safety and Liveness of DAG-Based Consensus Protocols PLDI Research Papers Longfei Qiu Yale University, Jingqi Xiao Yale University, Ji-Yong Shin Northeastern University, Zhong Shao Yale University DOI | ||
14:40 20mTalk | Taking out the Toxic Trash: Recovering Precision in Mixed Flow-Sensitive Static Analyses PLDI Research Papers Fabian Stemmler TU Munich, Michael Schwarz TU Munich, Julian Erhard TU Munich; LMU Munich, Sarah Tilscher TU Munich; LMU Munich, Helmut Seidl TU Munich DOI Pre-print Media Attached | ||
15:00 20mTalk | Relational Abstractions Based on Labeled Union-Find PLDI Research Papers Dorian Lesbre Université Paris-Saclay - CEA LIST, Matthieu Lemerre Université Paris-Saclay - CEA LIST, Hichem Rami Ait-El-Hara OCamlPro; Université Paris-Saclay - CEA LIST, François Bobot Université Paris-Saclay - CEA LIST DOI |