POPL 2024
Sun 14 - Sat 20 January 2024 London, United Kingdom
Wed 17 Jan 2024 10:50 - 11:10 at Turing Lecture - Types 1 Chair(s): Mae Milano

We present Wasm-precheck, a superset of WebAssembly (Wasm) that uses indexed types to express and check simple constraints over program values. This additional static reasoning enables safely removing dynamic safety checks required by Wasm, such as memory bounds checks. We implement Wasm-precheck as an extension of the Wasmtime compiler and runtime, evaluate the run-time and compile-time performance of Wasm-precheck vs Wasm, and find an average run-time performance gain of 1.71x faster in the widely used PolyBenchC benchmark suite, for a small overhead in binary size (7.18% larger) and type-checking time (1.4% slower). We also prove type and memory safety of Wasm-precheck, prove Wasm safely embeds into Wasm-precheck ensuring backwards compatibility, prove Wasm-precheck type-erases to Wasm, and discuss design and implementation trade-offs.

Wed 17 Jan

Displayed time zone: London change

10:30 - 11:50
Types 1POPL at Turing Lecture
Chair(s): Mae Milano Princeton University
10:30
20m
Talk
Generating Well-Typed Terms that are not "Useless"
POPL
Justin Frank University of Maryland, College Park, Benjamin Quiring University of Maryland, Leonidas Lampropoulos University of Maryland, College Park
10:50
20m
Talk
Indexed Types for a Statically Safe WebAssembly
POPL
Adam Geller Computer Science, University of British Columbia, Justin Frank University of Maryland, College Park, William J. Bowman University of British Columbia
DOI Pre-print
11:10
20m
Talk
The Essence of Generalized Algebraic Data TypesRemote
POPL
Filip Sieczkowski Heriot-Watt University, Sergei Stepanenko Aarhus University, Jonathan Sterling University of Cambridge, Lars Birkedal Aarhus University
11:30
20m
Talk
Ill-Typed Programs Don't Evaluate
POPL
Steven Ramsay University of Bristol, Charlie Walpole University of Bristol