Subject: [PATCH v2 1/3] gnu: Add aflplusplus.

From: Denis 'GNUtoo' Carikli <[email-masked]>
Date: Thu, 23 Nov 2023 15:52:50 +0100

* gnu/packages/debug.scm (aflplusplus): New variable.
---
 gnu/packages/debug.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index e2a29a3ae9..cd1eccbd7b 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -459,6 +459,37 @@ (define-public qemu-for-american-fuzzy-lop
     ;; Several tests fail on MIPS.
     (supported-systems (delete "mips64el-linux" %supported-systems))))))
 
+(define-public aflplusplus
+  (package
+    (inherit american-fuzzy-lop)
+    (name "aflplusplus")
+    (version "4.08c")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/AFLplusplus/AFLplusplus")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "01hxj65if6rkjrj1fqcgq0jl95dirhkn00mi2k65mff6bckaamxg"))))
+    (inputs (list qemu))
+    (home-page "https://aflplus.plus")
+    (description
+     "AFLplusplus is a security-oriented fuzzer that employs a novel type of
+compile-time instrumentation and genetic algorithms to automatically discover
+clean, interesting test cases that trigger new internal states in the targeted
+binary.  This substantially improves the functional coverage for the fuzzed
+code.  The compact synthesized corpora produced by the tool are also useful
+for seeding other, more labor- or resource-intensive testing regimes down the
+road.  It is a fork of American Fuzzy Lop fuzzer and compared to it:
+@itemize
+@item It Supports a more recent qemu version
+@item It supports more algorithms like collision-free coverage, enhanced
+laf-intel & redqueen, AFLfast++ power schedules, MOpt mutators, unicorn_mode,
+etc.
+@end itemize")))
+
 (define-public stress-make
   (let ((commit "97815bed8060de33952475b3498767c91f59ffd9")
         (revision "2"))                 ;No official source distribution

base-commit: 0c1aa354048f82023e6d2043bfecc4fd58bc9b58
-- 
2.41.0