Closed Bug 1329773 (awsm) Opened 7 years ago Closed 4 years ago

[meta] [awsm] Generative and differential testing fuzzer for WebAssembly

Categories

(Core :: JavaScript: WebAssembly, task, P3)

task

Tracking

()

RESOLVED INACTIVE

People

(Reporter: bbouvier, Assigned: bbouvier)

References

Details

(Keywords: meta)

awsm (as in "awesome") is not a spelling mistake but a wasm specific fuzzer on which I've been working lately. As of today, it serves two purposes:
- crash testing: ensure we don't hit assertions / crashes when compiling / instantiating and calling into wasm.
- differential testing: ensure the results are consistent across platforms and compilation modes.

In the future, it could be easily extended to test Cretonne compilation as well, as soon as we get a wasm-to-cretonne translator (or it could even be generating cretonne IL, with slightly more work).

It generates wasm test cases (in the text format directly, to make debugging easier), including one Module which is compiled, instantiated and then called from JS. All the exported functions are called and their return values are printed on stdout, as well as other interesting values (e.g. global variables' values).

The fuzzer can run these tiny programs with different executable runners (e.g shells built for x86/x64/ARM) in different modes (wasm-baseline vs wasm-ion), and compare the results against each other for differential testing.

The fuzzer's code is hidden in a private repository somewhere in the cloudz, but if people are interested, they can email me and I can give them the procedure to get access to the code.

Marking this bug as a meta-bug for all the issues found with awsm.
Alias: awsm
Depends on: 1329774
Priority: -- → P3
Depends on: 1336139
Depends on: 1337059
Depends on: 1337060
Depends on: 1337444
Depends on: 1338132
Depends on: 1338127
Keywords: meta
Component: JavaScript Engine: JIT → Javascript: Web Assembly
Depends on: 1507222
Depends on: 1507564
Depends on: 1507572
Depends on: 1507730
Depends on: 1507778
Depends on: 1507780
Depends on: 1507785
Depends on: 1507786
Summary: [awsm] Generative and differential testing fuzzer for WebAssembly → [meta] [awsm] Generative and differential testing fuzzer for WebAssembly
Type: defect → task
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → INACTIVE
You need to log in before you can comment on or make changes to this bug.