Skip to content

Auto-reduce testcases from the FuzzExec handler in the fuzzer#2232

Merged
kripken merged 10 commits intomasterfrom
autoreduce
Jul 18, 2019
Merged

Auto-reduce testcases from the FuzzExec handler in the fuzzer#2232
kripken merged 10 commits intomasterfrom
autoreduce

Conversation

@kripken
Copy link
Copy Markdown
Member

@kripken kripken commented Jul 18, 2019

When it finds a failing testcase, it reduces the list of optimizations, and then runs wasm-reduce to reduce the wasm itself.

This refactors the testcase handlers into two kinds: one returns a list of commands to run (get_commands()), and we can auto-reduce them. The others get all the parameters and do whatever they want internally, and we can't auto-reduce them yet. If it is useful, auto-reducing could be added to the other handlers (CompareVMs, Wasm2JS, etc.) by modifying them to the new form.

Tested manually by breaking stuff.

@kripken kripken requested a review from tlively July 18, 2019 20:17
Copy link
Copy Markdown
Member

@tlively tlively left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is awesome. I look forward to using it.

Comment thread scripts/fuzz_opt.py Outdated
Copy link
Copy Markdown
Member

@tlively tlively left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see, so each class either has get_commands or handle_pair, but probably not both.

@kripken kripken merged commit 9bdf713 into master Jul 18, 2019
@kripken kripken deleted the autoreduce branch July 18, 2019 22:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants