about summary refs log tree commit diff
path: root/llvm_mode/README.ngram.md
diff options
context:
space:
mode:
authorhexcoder- <heiko@hexco.de>2020-03-21 10:36:18 +0100
committerhexcoder- <heiko@hexco.de>2020-03-21 10:36:18 +0100
commit993bf03af90bca5e155251df271d536d5eb1d215 (patch)
tree31d3f8fecc1296b1ece35005ff9c155590243269 /llvm_mode/README.ngram.md
parent2508008b53b3e3a891a3d4ba4d73d554a91e5c16 (diff)
parenta0012c9e824e4709bcc5c241424efb1821a897aa (diff)
downloadafl++-993bf03af90bca5e155251df271d536d5eb1d215.tar.gz
Merge branch 'dev' of https://github.com/AFLplusplus/AFLplusplus into dev
Diffstat (limited to 'llvm_mode/README.ngram.md')
-rw-r--r--llvm_mode/README.ngram.md20
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm_mode/README.ngram.md b/llvm_mode/README.ngram.md
new file mode 100644
index 00000000..ef248198
--- /dev/null
+++ b/llvm_mode/README.ngram.md
@@ -0,0 +1,20 @@
+# AFL N-Gram Branch Coverage
+
+## Source
+
+This is an LLVM-based implementation of the n-gram branch coverage proposed in
+the paper ["Be Sensitive and Collaborative: Analzying Impact of Coverage Metrics
+in Greybox Fuzzing"](https://www.usenix.org/system/files/raid2019-wang-jinghan.pdf),
+by Jinghan Wang, et. al.
+
+Note that the original implementation (available
+[here](https://github.com/bitsecurerlab/afl-sensitive))
+is built on top of AFL's QEMU mode.
+This is essentially a port that uses LLVM vectorized instructions to achieve
+the same results when compiling source code.
+
+## Usage
+
+The size of `n` (i.e., the number of branches to remember) is an option
+that is specified in the `AFL_LLVM_NGRAM_SIZE` environment variable.
+Good values are 2, 4 or 8.