about summary refs log tree commit diff
path: root/docs/choosing_testcases.md
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2021-09-09 15:41:05 +0200
committerGitHub <noreply@github.com>2021-09-09 15:41:05 +0200
commita6c1c24d8e0f013bd56143abcabb5924d12bf4cb (patch)
tree3d1e4f385df8eabd8012cef91470118b7a062e5f /docs/choosing_testcases.md
parent8af84c203cfe241b5a8321c62387fd107ebf1031 (diff)
parent1a13ae9a98cc016ab12ce701946b53723eaa7e8e (diff)
downloadafl++-a6c1c24d8e0f013bd56143abcabb5924d12bf4cb.tar.gz
Merge pull request #1081 from llzmb/docs_edit_readme_move_content_to_docs
Edit README.md and move content to docs/
Diffstat (limited to 'docs/choosing_testcases.md')
-rw-r--r--docs/choosing_testcases.md19
1 files changed, 19 insertions, 0 deletions
diff --git a/docs/choosing_testcases.md b/docs/choosing_testcases.md
new file mode 100644
index 00000000..25002929
--- /dev/null
+++ b/docs/choosing_testcases.md
@@ -0,0 +1,19 @@
+# Choosing initial test cases
+
+To operate correctly, the fuzzer requires one or more starting file that
+contains a good example of the input data normally expected by the targeted
+application. There are two basic rules:
+
+  - Keep the files small. Under 1 kB is ideal, although not strictly necessary.
+    For a discussion of why size matters, see [perf_tips.md](perf_tips.md).
+
+  - Use multiple test cases only if they are functionally different from
+    each other. There is no point in using fifty different vacation photos
+    to fuzz an image library.
+
+You can find many good examples of starting files in the testcases/ subdirectory
+that comes with this tool.
+
+PS. If a large corpus of data is available for screening, you may want to use
+the afl-cmin utility to identify a subset of functionally distinct files that
+exercise different code paths in the target binary.
\ No newline at end of file