<div dir="ltr"><div><br></div>First off, thanks -- this is a pretty great library and it feels like I'm learning a lot.  I'm getting some more experience with libfuzzer and finding that I have a couple of questions:<div><br></div><div>- How does libfuzzer decide to write a new test file?  What distinguishes this one from all the other cases for which new test inputs were not written?  Must be something about the path taken through the code?</div><div><br></div><div>- Can I use afl-cmin or is there something similar for libFuzzer?  I find that sometimes I get an enormous amount of tests and it becomes unmanageable.</div><div> </div><div>- sometimes my process being tested appears to deadlock.  A common feature seems to be that AlarmCallback is allocating memory and as a consequence the ASan code is pending on a lock.  I'll speculate that this is because the alarm expired while the lock was already held.  Is this expected?  I can share specific call stacks if it helps.  I can just extend the timeout but I think it's probably appropriate.</div><div><br></div><div>- AFL has a curses based display where a bunch of different stats are shown.  I'll be honest, I don't know how to read those yet. ;)  But I'd like to find some way to determine whether I'm seeing diminishing returns with libfuzzer.  Is there a good strategy?</div><div><br></div><div>- Can anyone share tips for how libFuzzer has been used with some success -- anything beyond what's already available in <a href="http://llvm.org/docs/LibFuzzer.html">http://llvm.org/docs/LibFuzzer.html</a> ?<br clear="all"><div><br></div>-- <br><div class="gmail_signature">-Brian</div>
</div></div>