[lib/Fuzzer] explain compatibility with AFL
authorKostya Serebryany <kcc@google.com>
Fri, 10 Apr 2015 05:44:43 +0000 (05:44 +0000)
committerKostya Serebryany <kcc@google.com>
Fri, 10 Apr 2015 05:44:43 +0000 (05:44 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234570 91177308-0d34-0410-b5e6-96231b3b80d8

docs/LibFuzzer.rst

index 0d3040329d031909de3fe681a8577847f33e3aac..842599cad887099003719ec02bad164241ee1e4d 100644 (file)
@@ -245,6 +245,16 @@ The fuzzer itself will still be mutating a string of bytes
 but before passing this input to the target library it will replace every byte ``b`` with the ``b``-th token.
 If there are less than ``b`` tokens, a space will be added instead.
 
 but before passing this input to the target library it will replace every byte ``b`` with the ``b``-th token.
 If there are less than ``b`` tokens, a space will be added instead.
 
+AFL compatibility
+-----------------
+LibFuzzer can be used in parallel with AFL_ on the same test corpus.
+Both fuzzers expect the test corpus to reside in a directory, one file per input.
+You can run both fuzzers on the same corpus in parallel::
+
+  ./afl-fuzz -i testcase_dir -o findings_dir /path/to/program -r @@
+  ./llvm-fuzz testcase_dir findings_dir  # Will write new tests to testcase_dir
+
+Periodically restart both fuzzers so that they can use each other's findings.
 
 Fuzzing components of LLVM
 ==========================
 
 Fuzzing components of LLVM
 ==========================