WebAssembly / WebAssembly/binaryen

Automate reduction from fuzz_opt.py

Open
#2,230 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
WebAssembly
Stars
8.6k
Forks
885
Avg merge
1d 19h
Merged PRs (30d)
69

Description

If we could automatically run wasm-reduce on a failing testcase that might save a bunch of time. it would need to be specific for each TestcaseHandler, though, so basically a .reduce() method that if it exists we could call it. Then the output of the fuzzer finding a failing testcase could also include the reduced testcase.

Also reducing the command itself could be useful (getting rid of unnecessary passes, etc.).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading fuzz_opt.py and the TestcaseHandler flow to understand how failing testcases are reported. Investigate how wasm-reduce could be invoked for handlers that support reduction, and consider the separate command-reduction idea. Done should include reduced failing testcases in fuzzer output, with the intended handler-specific behavior defined.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, wasm
Domain
compilers, testing-qa, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.