WasmFX is a proposed extension of Wasm, a low-level portable bytecode, with primitives for explicitly manipulating execution stacks as continuations. By exposing an interface of effect handlers, WasmFX enables non-local control flow features to be compiled in a modular way: one handcrafts a library that directly implements such features in WasmFX, and compilation then merely calls into the library. Alas, code involving non-local control flow is notoriously challenging, and so this proposal raises the questions of the soundness of the language extension, and of the correctness of such handcrafted libraries. In this paper, we first describe WasmFXCert, a mechanisation of WasmFX in Rocq, and prove the expected type soundness result. We then develop Iris-WasmFX, a program logic to reason about Wasm programs that use effect handlers, and illustrate its application to two key use cases of effect handlers: a coroutine library, and a generator. Together, these validate the design of WasmFX, and provide a modular framework for verifying future effect-based libraries.
Wed 17 JunDisplayed time zone: Mountain Time (US & Canada) change
11:00 - 12:40 | Mechanized Program Logics and VerificationPLDI Research Papers at Flatirons 2 Chair(s): Yusuke Matsushita Kyoto University | ||
11:00 20mTalk | A Deductive System for Contract Satisfaction Proofs PLDI Research Papers Arthur Correnson CISPA Helmholtz Center for Information Security, Haoyi Zeng Harvard University, Jana Hofmann MPI-SP DOI Pre-print | ||
11:20 20mTalk | A Mechanized Algebra of Verified Data Structures for Optimizing Sparse Tensor Programs PLDI Research Papers Amanda Liu Massachusetts Institute of Technology, Gilbert Louis Bernstein University of Washington, Shoaib Kamil Adobe, Adam Chlipala Massachusetts Institute of Technology, Jonathan Ragan-Kelley Massachusetts Institute of Technology DOI | ||
11:40 20mTalk | Iris-WasmFX: Modular Reasoning for Wasm Stack Switching PLDI Research Papers Maxime Legoupil Nanyang Technological University, Mathias Pedersen Aarhus University, Lars Birkedal Aarhus University, Sam Lindley University of Edinburgh, Jean Pichon-Pharabod Aarhus University DOI | ||
12:00 20mTalk | Code-Specify-Test-Debug-Prove: Flexibly Integrating Separation Logic Specification into Conventional Workflows PLDI Research Papers Zain K Aamer University of Pennsylvania, Rini Banerjee University of Cambridge, Hiroyuki Katsura University of Cambridge, David Kaloper-Meršinjak University of Cambridge, Dimitrios J. Economou University of Cambridge, Kayvan Memarian University of Cambridge, Dhruv Makwana University of Cambridge, Neel Krishnaswami University of Cambridge, Benjamin C. Pierce University of Pennsylvania, Christopher Pulte University of Oxford, Peter Sewell University of Cambridge DOI Pre-print | ||
12:20 20mTalk | Cerisier: A Program Logic for Attestation in a Capability Machine PLDI Research Papers June Rousseau Aarhus University, Denis Carnier KU Leuven, Thomas Van Strydonck Fortanix, Steven Keuchel KU Leuven, Dominique Devriese KU Leuven, Lars Birkedal Aarhus University DOI | ||