[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
Date: Fri Oct 28 11:55:29 2016
New Revision: 285415
[libFuzzer] a bit more docs
--- 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