Implement fuzz testing for Wasm execution #419
Labels
enhancement
New feature or request
priority-high
register-machine
A work item for the register-machine engine.
We currently have a very naive fuzz testing infrastructure for
wasmi
that works and already found bugs.However, this fuzz testing infrastructure currently only tests Wasm parsing, validation and Wasm to
wasmi
bytecode translation but does not cover the important Wasm execution phase.For this we require another Wasm engine that runs on the same Wasm inputs as
wasmi
. After each run we compare the state of the virtual machines (globals, linear memories, execution results, etc.) and see if they match. Divergent states indicate differences in execution behavior and therefore a bug on one side or the other.The other engine should have a very strong focus on correctness and Wasm conformance. Nothing could beat the official Wasm spec interpreter in this regard.
Rust bindings for the official Wasm spec interpreter already exist but there currently has not been a public release on crates.io.
Once the official Wasm spec interpreter has been released on crates.io we can make use of it in a similar manner as done in Wasmtime.
The text was updated successfully, but these errors were encountered: