Directed Fuzzing Analyses
include/Fuzzing/Analysis/ and lib/Fuzzing/Analysis/ provide the core
distance and target-discovery analyses used by the Lotus directed fuzzing stack.
Location: include/Fuzzing/Analysis/, lib/Fuzzing/Analysis/
Main analyses:
AFLGoBasicBlockDistanceAnalysiscomputes basic-block distances.AFLGoFunctionDistanceAnalysiscomputes function-level distances, with a mode used for Hawkeye-style guidance.ExtendedCallGraphAnalysisenriches the call graph that those distance analyses consume.AFLGoTargetDetectionAnalysisdiscovers target basic blocks and annotated target instructions.DAFLAnalysisreads target input and produces optional block weights.
These are the strongest source-backed pieces of the fuzzing stack today. The
compiler and linker plugin directories are documented separately, but the active
analysis layer is the part clearly wired into lib/Fuzzing/CMakeLists.txt.
These analyses are consumed by the compiler and linker plugins documented in AFLGo Compiler Plugin and AFLGo Link-Time Instrumentation.
See also Fuzzing Support.