Explore the development of Owi, an OCaml-based interpreter and toolkit for WebAssembly (Wasm), in this 26-minute conference talk from OCaML'23. Discover how Owi provides a fast and easily maintainable solution for Wasm code execution, with a focus on facilitating experimentation, research, and symbolic manipulations. Learn about the different passes and intermediate representations of Owi, as well as its linker, interpreter, and support for various Wasm-specific extensions. Understand how Owi's API leverages Generalized Algebraic Data Types (GADTs) for improved error detection at link-time. Gain insights into the testing methods employed, including a Crowbar-based fuzzer. Consider the future developments planned for Owi, such as incorporating missing Wasm extensions, implementing advanced optimization passes, and potentially porting the WASP execution engine for concolic execution.
Overview
Syllabus
[OCaML'23] Owi: an interpreter and a toolkit for WebAssembly written in OCaml
Taught by
ACM SIGPLAN