From the paper:
the diverse host environments and engine offerings for Wasm demand a more general technique that works with an uncooperative host environment. The term “uncooperative” here means that the host environment does not provide any support for record and replay. Instead, Wasm-R3 works without any modifications of the host environment or the underlying Wasm engine, but instruments a Wasm module so that it records its own trace.
It sounds like this project can take in a *.wasm module and spit out a modified *.wasm module that records a trace. However, in this repo's README.md, I don't see any documentation on how to do that, nor on how specifically to use such the modified Wasm module once it has been created.
I tried the npm start example in the README, but it asks me to run npx playwright install to "download new browsers", which I don't think I should need to do for my use case: I just want to use Wasm-R3 to debug a Wasm module I'm using in Node.js, not in a browser context.
Could you please add documentation on how to use Wasm-R3 on an individual Wasm module?
From the paper:
It sounds like this project can take in a
*.wasmmodule and spit out a modified*.wasmmodule that records a trace. However, in this repo'sREADME.md, I don't see any documentation on how to do that, nor on how specifically to use such the modified Wasm module once it has been created.I tried the
npm startexample in the README, but it asks me to runnpx playwright installto "download new browsers", which I don't think I should need to do for my use case: I just want to use Wasm-R3 to debug a Wasm module I'm using in Node.js, not in a browser context.Could you please add documentation on how to use Wasm-R3 on an individual Wasm module?