You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To fill the gap between manually written Wasm (too simple) and Rust programs using the malloc (too complex to debug) in our tests. We need something in the middle to cover a non-trivial control flow and memory ops (byte vs. word memory addressing), etc.
Implementation details
Generate the Wasm code with wasm-smith, compile it to MASM and run them both, comparing the runtime state (stack, memory) afterward.
The text was updated successfully, but these errors were encountered:
@bitwalker While working on #219, I discovered a few blockers of using the wasm-smith to test Miden compiler.
The following is a list of the blockers that prevent using the wasm-smith to test the Miden compiler:
Introduce a notion of an "allowed" types to avoid using float types in the generated code (function arguments, return values, etc.).
Split InstructionKind::Numeric into the integer and float variants to avoid using float types in the generated code.
Introduce a notion of an "allowed/forbidden" instructions to avoid using (yet) Miden unsupported Wasm instructions in the generated code.
We could implement them in the wasm-smith and either push them upstream or maintain our fork.
greenhat
changed the title
Fuzz the compiler with a non-trivial code which is not overly complex
Fuzz the compiler with a non-trivial code but not overly complex
Aug 8, 2024
Motivation
To fill the gap between manually written Wasm (too simple) and Rust programs using the malloc (too complex to debug) in our tests. We need something in the middle to cover a non-trivial control flow and memory ops (byte vs. word memory addressing), etc.
Implementation details
Generate the Wasm code with
wasm-smith
, compile it to MASM and run them both, comparing the runtime state (stack, memory) afterward.The text was updated successfully, but these errors were encountered: