WasmRef-Isabelle: A Verified Monadic Interpreter and Industrial Fuzzing Oracle for WebAssembly
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 JunDisplayed 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 | ||
13:40 20mTalk | 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 20mTalk | 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 20mTalk | 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 20mTalk | Merging Inductive Relations PLDI Research Papers Jacob Prinz University of Maryland, College Park, Leonidas Lampropoulos University of Maryland, College Park DOI | ||
15:00 20mTalk | 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 |