Random Testing of WebAssembly Implementations Using Semantically Valid Programs
Masters Thesis, University of Utah. August 2023.
© Copyright 2023 by Guy Watson
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.