From 7420aabeeb538eb6ca23c17897681ef2c3ad1de2 Mon Sep 17 00:00:00 2001 From: Alwin Berger Date: Mon, 20 Feb 2023 12:28:39 +0100 Subject: [PATCH] change feedback order --- fuzzers/FRET/benchmark/Snakefile | 9 +++++++++ fuzzers/FRET/src/fuzzer.rs | 21 +++++++++++---------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/fuzzers/FRET/benchmark/Snakefile b/fuzzers/FRET/benchmark/Snakefile index 3fbb694fa9..4277b25114 100644 --- a/fuzzers/FRET/benchmark/Snakefile +++ b/fuzzers/FRET/benchmark/Snakefile @@ -74,6 +74,15 @@ rule run_bench: script="export FUZZ_RANDOM=1\n"+script shell(script) +rule all_bins: + input: + "bins/target_random", + "bins/target_feedlongest", + "bins/target_feedaflnolongest", + "bins/target_afl", + "bins/target_state", + "bins/target_graph" + rule all_periodic: input: expand("timedump/{fuzzer}/{target}.{num}", fuzzer=['random','afl','state','graph'], target=['waters'],num=range(0,10)) diff --git a/fuzzers/FRET/src/fuzzer.rs b/fuzzers/FRET/src/fuzzer.rs index 1f44635f83..550dd0d06f 100644 --- a/fuzzers/FRET/src/fuzzer.rs +++ b/fuzzers/FRET/src/fuzzer.rs @@ -220,30 +220,31 @@ pub fn fuzz() { ); #[cfg(feature = "feed_afl")] let mut feedback = feedback_or!( + feedback, // New maximization map feedback linked to the edges observer and the feedback state - MaxMapFeedback::new_tracking(&edges_observer, true, true), - feedback + MaxMapFeedback::new_tracking(&edges_observer, true, true) ); #[cfg(feature = "feed_longest")] let mut feedback = feedback_or!( + // afl feedback needs to be activated first for MapIndexesMetadata + feedback, // Feedback to reward any input which increses the execution time - ExecTimeIncFeedback::new(), - feedback + ExecTimeIncFeedback::new() ); #[cfg(all(feature = "systemstate",not(any(feature = "feed_systemgraph",feature = "feed_systemtrace"))))] let mut feedback = feedback_or!( - DumpSystraceFeedback::with_dump(env::var("TRACE_DUMP").ok().map(PathBuf::from)), - feedback + feedback, + DumpSystraceFeedback::with_dump(env::var("TRACE_DUMP").ok().map(PathBuf::from)) ); #[cfg(feature = "feed_systemtrace")] let mut feedback = feedback_or!( - NovelSystemStateFeedback::default(), - feedback + feedback, + NovelSystemStateFeedback::default() ); #[cfg(feature = "feed_systemgraph")] let mut feedback = feedback_or!( - SysMapFeedback::default(), - feedback + feedback, + SysMapFeedback::default() ); // A feedback to choose if an input is a solution or not