[PATCH] D73776: Entropic: Boosting LibFuzzer Performance

marcel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 14 08:00:07 PDT 2020


marcel updated this revision to Diff 257332.
marcel marked 2 inline comments as done.
marcel added a comment.

This is revision number 5. Thanks for all the great feedback!

- Moved InputInfo functions (`UpdateEnergy`, `UpdateFeatureFrequency`, `DeleteFeatureFreq`) into `InputInfo` struct.
- Made `NumExecutedMutations` private. Added public `FuzzerCorpus::IncrementNumExecutedMutations()`
- Set kSparseEnergyUpdates to 100 (instead of 10000). Seems to give better results on some FuzzBench subjects.
- Removed kProbAgressiveSchedule. Seems to give better results on some FuzzBench subjects.
- Some cleanup in `FuzzerCorpus::AddRareFeature()`. Use swap and pop_back. Use arrary to maintain most and second-most abundant rare feature.
- Been playing with LF's power schedule, and in preliminary experiments it seems that prioritizing faster seeds brings quite some performance gains.
- Submitted PR to FuzzBench for evaluation: https://github.com/google/fuzzbench/pull/226


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D73776/new/

https://reviews.llvm.org/D73776

Files:
  compiler-rt/lib/fuzzer/FuzzerCorpus.h
  compiler-rt/lib/fuzzer/FuzzerDriver.cpp
  compiler-rt/lib/fuzzer/FuzzerFlags.def
  compiler-rt/lib/fuzzer/FuzzerLoop.cpp
  compiler-rt/lib/fuzzer/FuzzerOptions.h
  compiler-rt/lib/fuzzer/tests/FuzzerUnittest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D73776.257332.patch
Type: text/x-patch
Size: 20813 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200414/5ce9f462/attachment.bin>


More information about the llvm-commits mailing list