Mon 19 Jun 2023 14:20 - 14:40 at Royal - PLDI: Verification & Proof Assistants Chair(s): Adam Chlipala

We present WasmRef-Isabelle, a monadic interpreter for WebAssembly written in Isabelle/HOL and proven correct with respect to the WasmCert-Isabelle mechanisation of WebAssembly. WasmRef-Isabelle has been officially adopted and deployed as a fuzzing oracle for Wasmtime, a widely used WebAssembly implementation. Previous efforts to fuzz Wasmtime against WebAssembly’s official OCaml reference interpreter were abandoned by Wasmtime’s developers after the reference interpreter exhibited unacceptable performance characteristics, which its maintainers decided not to fix in order to preserve the interpreter’s close definitional correspondence with the official specification. With WasmRef-Isabelle, we achieve the best of both worlds — an interpreter fast enough to be useable as a fuzzing oracle that also maintains a close correspondence with the specification through a mechanised proof of correctness.

We verify the correctness of WasmRef-Isabelle through a two-step refinement proof in Isabelle/HOL. We demonstrate that WasmRef-Isabelle significantly outperforms the official reference interpreter, has performance comparable to a Rust debug build of the industry WebAssembly interpreter Wasmi, and competes with unverified oracles on fuzzing throughput when deployed in Wasmtime’s fuzzing infrastructure. We also present several new extensions to WasmCert-Isabelle which enhance WasmRef-Isabelle’s utility as a fuzzing oracle: we add support for a number of upcoming WebAssembly features, and fully mechanise the numeric semantics of WebAssembly’s integer operations.

Mon 19 Jun

Displayed time zone: Eastern Time (US & Canada) change

13:40 - 15:20
PLDI: Verification & Proof AssistantsPLDI Research Papers at Royal
Chair(s): Adam Chlipala Massachusetts Institute of Technology

#pldi-mon-1340-verification-royal Discord icon small YouTube icon small

13:40
20m
Talk
PureCake: A Verified Compiler for a Lazy Functional Language
PLDI Research Papers
Hrutvik Kanabar University of Kent, Samuel Vivien École Normale Supérieure, PSL & Chalmers University of Technology Sweden, Oskar Abrahamsson Chalmers University of Technology, Sweden, Magnus O. Myreen Chalmers University of Technology, Michael Norrish CSIRO’s Data61; Australian National University, Johannes Åman Pohjola University of New South Wales, Australia, Riccardo Zanetti Chalmers University of Technology, Sweden
DOI Pre-print
14:00
20m
Talk
Iris-Wasm: Robust and Modular Verification of WebAssembly Programs
PLDI Research Papers
Xiaojia Rao Imperial College, Aina Linn Georges Aarhus University, Maxime Legoupil Aarhus University, Conrad Watt University of Cambridge, Jean Pichon-Pharabod Aarhus University, Philippa Gardner Imperial College London, Lars Birkedal Aarhus University
DOI
14:20
20m
Talk
WasmRef-Isabelle: A Verified Monadic Interpreter and Industrial Fuzzing Oracle for WebAssembly
PLDI Research Papers
Conrad Watt University of Cambridge, Maja Trela University of Cambridge, Peter Lammich The University of Manchester, Florian Märkl
DOI
14:40
20m
Talk
Merging Inductive Relations
PLDI Research Papers
Jacob Prinz University of Maryland, College Park, Leonidas Lampropoulos University of Maryland, College Park
DOI
15:00
20m
Talk
Cakes That Bake Cakes: Dynamic Computation in CakeML
PLDI Research Papers
Thomas Sewell University of Cambridge, Magnus O. Myreen Chalmers University of Technology, Yong Kiam Tan None, Ramana Kumar None, Alexander Mihajlovic Chalmers University of Technology, Oskar Abrahamsson Chalmers University of Technology, Scott Owens University of Kent, UK
DOI