This is an archive of the discontinued LLVM Phabricator instance.

[libfuzzer] adapter-based custom mutators
Needs ReviewPublic

Authored by aizatsky on Mar 7 2016, 3:49 PM.

Details

Reviewers
kcc
eugenis
Summary
Adapter based mutator plugins into libfuzzer custom mutator support.
It performs mutation on individual function arguments rather than on
full data set.

I've benchmarked the mutator on a simple fuzzer that invokes icu
toupper. It has two string arguments: language & string itself.
The fuzzer was benchmarked with 1,000,000 runs on empty corpus 10 times
each.

Adapter mutator avg units: 584.7 (stddev 29.2)
Standard mutator avg units: 532.8 (stddev 47.3)

Diff Detail

Event Timeline

aizatsky updated this revision to Diff 50004.Mar 7 2016, 3:49 PM
aizatsky retitled this revision from to [wip][libfuzzer] adapter-based custom mutators.
aizatsky updated this object.
aizatsky retitled this revision from [wip][libfuzzer] adapter-based custom mutators to [libfuzzer] adapter-based custom mutators.Mar 9 2016, 11:31 AM
aizatsky updated this object.
aizatsky added reviewers: kcc, eugenis.
aizatsky added a subscriber: llvm-commits.
aizatsky updated this revision to Diff 50169.Mar 9 2016, 11:38 AM
aizatsky updated this object.

format

aizatsky updated this revision to Diff 50170.Mar 9 2016, 11:39 AM

fixing broken clang format.