[llvm] r285415 - [libFuzzer] a bit more docs

Kostya Serebryany via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 28 09:55:29 PDT 2016


Author: kcc
Date: Fri Oct 28 11:55:29 2016
New Revision: 285415

URL: http://llvm.org/viewvc/llvm-project?rev=285415&view=rev
Log:
[libFuzzer] a bit more docs

Modified:
    llvm/trunk/docs/LibFuzzer.rst

Modified: llvm/trunk/docs/LibFuzzer.rst
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/LibFuzzer.rst?rev=285415&r1=285414&r2=285415&view=diff
==============================================================================
--- llvm/trunk/docs/LibFuzzer.rst (original)
+++ llvm/trunk/docs/LibFuzzer.rst Fri Oct 28 11:55:29 2016
@@ -80,7 +80,9 @@ Some important things to remember about
 * The fuzzing engine will execute the fuzz target many times with different inputs in the same process.
 * It must tolerate any kind of input (empty, huge, malformed, etc).
 * It must not `exit()` on any input.
-* It may use multiple threads but ideally all threads should be joined at the end of the function.
+* It may use threads but ideally all threads should be joined at the end of the function.
+* It must be as deterministic as possible. Non-determinism (e.g. random decisions not based on the input byte) will make fuzzing inefficient.
+* It must be fast. Try avoiding cubic or greater complexity.
 * Ideally, it should not modify any global state (although that's not strict).
 
 




More information about the llvm-commits mailing list