[libFuzzer] Merge: print feature coverage number as well.
authorMax Moroz <mmoroz@chromium.org>
Mon, 12 Aug 2019 20:21:27 +0000 (20:21 +0000)
committerMax Moroz <mmoroz@chromium.org>
Mon, 12 Aug 2019 20:21:27 +0000 (20:21 +0000)
commit74cec618f304e88ca83875e84978acfa1b8cc1ec
tree7aea0cdf4939e3f909019292a3dffc7f40cf4a5c
parent532e724992393415c5deaf7f71fa1f46fca60932
[libFuzzer] Merge: print feature coverage number as well.

Summary:
feature coverage is a useful signal that is available during the merge
process, but was not printed previously.

Output example:

```
$ ./fuzzer -use_value_profile=1 -merge=1 new_corpus/ seed_corpus/
INFO: Seed: 1676551929
INFO: Loaded 1 modules   (2380 inline 8-bit counters): 2380 [0x90d180, 0x90dacc),
INFO: Loaded 1 PC tables (2380 PCs): 2380 [0x684018,0x68d4d8),
MERGE-OUTER: 180 files, 78 in the initial corpus
MERGE-OUTER: attempt 1
INFO: Seed: 1676574577
INFO: Loaded 1 modules   (2380 inline 8-bit counters): 2380 [0x90d180, 0x90dacc),
INFO: Loaded 1 PC tables (2380 PCs): 2380 [0x684018,0x68d4d8),
INFO: -max_len is not provided; libFuzzer will not generate inputs larger than 1048576 bytes
MERGE-INNER: using the control file '/tmp/libFuzzerTemp.111754.txt'
MERGE-INNER: 180 total files; 0 processed earlier; will process 180 files now
#1 pulse  cov: 134 ft: 330 exec/s: 0 rss: 37Mb
#2 pulse  cov: 142 ft: 462 exec/s: 0 rss: 38Mb
#4 pulse  cov: 152 ft: 651 exec/s: 0 rss: 38Mb
#8 pulse  cov: 152 ft: 943 exec/s: 0 rss: 38Mb
#16 pulse  cov: 520 ft: 2783 exec/s: 0 rss: 39Mb
#32 pulse  cov: 552 ft: 3280 exec/s: 0 rss: 41Mb
#64 pulse  cov: 576 ft: 3641 exec/s: 0 rss: 50Mb
#78 LOADED cov: 602 ft: 3936 exec/s: 0 rss: 88Mb
#128 pulse  cov: 611 ft: 3996 exec/s: 0 rss: 93Mb
#180 DONE   cov: 611 ft: 4016 exec/s: 0 rss: 155Mb
MERGE-OUTER: succesfull in 1 attempt(s)
MERGE-OUTER: the control file has 39741 bytes
MERGE-OUTER: consumed 0Mb (37Mb rss) to parse the control file
MERGE-OUTER: 9 new files with 80 new features added; 9 new coverage edges
```

Reviewers: hctim, morehouse

Reviewed By: morehouse

Subscribers: delcypher, #sanitizers, llvm-commits, kcc

Tags: #llvm, #sanitizers

Differential Revision: https://reviews.llvm.org/D66030

llvm-svn: 368617
compiler-rt/lib/fuzzer/FuzzerInternal.h
compiler-rt/lib/fuzzer/FuzzerLoop.cpp
compiler-rt/lib/fuzzer/FuzzerMerge.cpp