Flux Research Group / School of Computing

Random Testing of WebAssembly Implementations Using Semantically Valid Programs

Guy Watson

Masters Thesis, University of Utah. August 2023.

Languages, Software Testing


WebAssembly is a relatively new language designed to be low-level and portable. Designed primarily for web browsers, its compact representation is meant to be directly executed by a browser, enabling high-performance applications on the web. Since implementations are both complex and browser-dependent, the language is a good target for differential random testing. This thesis introduces Wasmlike, a random generator of semantically valid WebAssembly programs. By using semantically valid programs with random differential testing, the goal is to penetrate past syntax and semantic validation, and test WebAssembly implementations for defects that cause programs to produce incorrect results. Wasmlike has found five significant semantics defects in WebAssembly implementations.