Wasmgrind: Towards Dynamic Concurrency Analysis for Multithreaded WebAssembly
The \textit{threads proposal} introduced language constructs for multithreaded execution of WebAssembly programs. However, concurrent memory accesses and the erroneous use of synchronization primitives impose the risk of deadlocks and data races during program execution. While there are tools to detect this kind of errors on native platforms, WebAssembly still lacks appropriate tooling for analyzing these issues.
To this end we present \textit{Wasmgrind}, an instrumentation framework targeted at prediction of deadlocks and data races for multithreaded WebAssembly programs. It defines an embedder-agnostic ABI of WebAssembly imports and exports that enables thread creation and joining independent of the WebAssembly runtime. WebAssembly programs utilizing this ABI can be instrumented and executed by Wasmgrind to generate an execution trace for offline concurrency analysis.
Thu 16 OctDisplayed time zone: Perth change
10:30 - 12:15 | Session 1WebAssembly Workshop at Orchid Small Chair(s): Conrad Watt Nanyang Technological University | ||
10:30 45mKeynote | [Keynote] Keynote and SpecTec demo WebAssembly Workshop Andreas Rossberg Independent | ||
11:15 20mTalk | Implementing and Evaluating a High-Level Language with WasmGC and the Wasm Component Model: Scala’s Case WebAssembly Workshop Rikito Taniguchi VirtusLab and Institute of Science Tokyo, Sébastien Doeraene EPFL, Switzerland, Hidehiko Masuhara Institute of Science Tokyo | ||
11:35 20mTalk | Wasmgrind: Towards Dynamic Concurrency Analysis for Multithreaded WebAssembly WebAssembly Workshop | ||
11:55 20mTalk | What is Fairy Dust? Universal Contracts for WebAssembly WebAssembly Workshop Jean Pichon-Pharabod Aarhus University |