Added functions that calculate stats while fuzz targets are running and give
mutations weight based on how much new coverage they provide, and choose better
performing mutations more often.
Patch by Kodé Williams (@kodewilliams).
Differential D49621
[libFuzzer] Initial implementation of weighted mutation leveraging during runtime. kodewilliams on Jul 20 2018, 3:36 PM. Authored by
Details
Added functions that calculate stats while fuzz targets are running and give Patch by Kodé Williams (@kodewilliams).
Diff Detail
Event TimelineComment Actions Left a few comments with high level concerns and some less important ones as well.
Comment Actions I used git version of clang-format with -p flag for the non-trivial changes, but I believe there is also a VS Code plugin that includes clang-format, so you should try it @metzman
Comment Actions This CL is still broken, it doesn't actually do what it is intended to do.
Comment Actions Obviously we can't always write perfect code, but in the above comment, I mean that the code we put up for review should work as intended in simple cases. Comment Actions Unit test giving problems to write due to most members being private. Addressed all other comments.
Comment Actions Haven't looked at the test yet, as the code needs a lot of clean up.
Comment Actions
Comment Actions I don't like the test as it only tests that we do not completely break libFuzzer, but doesn't test the feature itself. I'll play with some ideas locally, will share those if anything works out. Otherwise, I guess we'll proceed with this test.
Comment Actions Left a couple minor comments. Looks good otherwise. Still not happy with the test, but can't think of anything better so far. Matt, please take a look when you get a change.
|
Please put some kind of explanation here.