Owi: an interpreter and a toolkit for WebAssembly written in OCaml
This presentation introduces Owi, an OCaml-based interpreter and toolkit for WebAssembly (Wasm). Owi aims to provide a fast and easily maintainable solution for Wasm code execution. Unlike competing interpreters, Owi focuses on facilitating experimentation, research, and symbolic manipulations of Wasm. We describe the different passes and intermediate representations of Owi. Additionally, we discuss the linker, the interpreter and its support for various Wasm-specific extensions. Owi’s API leverages Generalized Algebraic Data Types (GADTs) for improved error detection at link-time. We also describe the testing methods used, including a Crowbar-based fuzzer. Future work includes incorporating missing Wasm extensions, implementing advanced optimization passes, and potentially porting the WASP execution engine to perform concolic execution.
Sat 9 SepDisplayed time zone: Pacific Time (US & Canada) change
16:00 - 17:30
|MetaOCaml Theory and Implementation
Oleg Kiselyov Tohoku UniversityFile Attached
|Owi: an interpreter and a toolkit for WebAssembly written in OCaml