improve benchmark scripts and excution fixes

This commit is contained in:
Alwin Berger 2024-09-05 09:55:21 +02:00
parent 6929073069
commit ee737b9eb8
4 changed files with 34 additions and 12 deletions

View File

@ -0,0 +1,20 @@
def_flags="--no-default-features --features std,snapshot_fast,singlecore,restarting,do_hash_notify_state,trace_job_response_times"
set -e
cargo build --target-dir ./bins/target_showmap ${def_flags},config_stg
cargo build --target-dir ./bins/target_random ${def_flags},feed_longest
cargo build --target-dir ./bins/target_frafl ${def_flags},config_frafl,feed_longest
cargo build --target-dir ./bins/target_afl ${def_flags},config_afl,observe_hitcounts
cargo build --target-dir ./bins/target_stg ${def_flags},config_stg
cargo build --target-dir ./bins/target_stgpath ${def_flags},feed_stg_abbhash,sched_stg_abbhash,mutate_stg
cargo build --target-dir ./bins/target_showmap_int ${def_flags},config_stg,fuzz_int
cargo build --target-dir ./bins/target_random_int ${def_flags},feed_longest,fuzz_int
cargo build --target-dir ./bins/target_afl_int ${def_flags},config_frafl,fuzz_int
cargo build --target-dir ./bins/target_stg_int ${def_flags},config_stg,fuzz_int
cargo build --target-dir ./bins/target_stgpath_int ${def_flags},feed_stg_abbhash,sched_stg_abbhash,mutate_stg,fuzz_int
cargo build --target-dir ./bins/target_feedgeneration1 ${def_flags},feed_genetic,gensize_1
cargo build --target-dir ./bins/target_feedgeneration1_int ${def_flags},feed_genetic,fuzz_int,gensize_1
cargo build --target-dir ./bins/target_feedgeneration10 ${def_flags},feed_genetic,gensize_10
cargo build --target-dir ./bins/target_feedgeneration10_int ${def_flags},feed_genetic,fuzz_int,gensize_10
cargo build --target-dir ./bins/target_feedgeneration100 ${def_flags},feed_genetic,gensize_100
cargo build --target-dir ./bins/target_feedgeneration100_int ${def_flags},feed_genetic,fuzz_int,gensize_100

View File

@ -1,11 +1,12 @@
Rscript plot_multi.r remote waters ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote &
Rscript plot_multi.r remote waters_int ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote &
Rscript plot_multi.r remote watersv2 ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote &
Rscript plot_multi.r remote watersv2_int ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote &
Rscript plot_multi.r remote waterspart ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote &
Rscript plot_multi.r remote waterspart_int ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote &
Rscript plot_multi.r remote waterspartv2 ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote &
Rscript plot_multi.r remote waterspartv2_int ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote &
Rscript plot_multi.r remote interact ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote &
Rscript plot_multi.r remote interact_int ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote &
[ ! -f ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote/waters_all.png ] && Rscript plot_multi.r remote waters ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote &
[ ! -f ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote/waters_int_all.png ] && Rscript plot_multi.r remote waters_int ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote &
[ ! -f ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote/watersv2_all.png ] && Rscript plot_multi.r remote watersv2 ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote &
[ ! -f ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote/watersv2_int_all.png ] && Rscript plot_multi.r remote watersv2_int ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote &
[ ! -f ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote/waterspart_all.png ] && Rscript plot_multi.r remote waterspart ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote &
[ ! -f ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote/waterspart_int_all.png ] && Rscript plot_multi.r remote waterspart_int ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote &
[ ! -f ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote/waterspartv2_all.png ] && Rscript plot_multi.r remote waterspartv2 ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote &
[ ! -f ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote/waterspartv2_int_all.png ] && Rscript plot_multi.r remote waterspartv2_int ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote &
[ ! -f ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote/interact_all.png ] && Rscript plot_multi.r remote interact ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote &
[ ! -f ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote/interact_int_all.png ] && Rscript plot_multi.r remote interact_int ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote &
[ ! -f ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote/release_all.png ] && Rscript plot_multi.r remote release ~/code/FRET/LibAFL/fuzzers/FRET/benchmark/remote &
wait

View File

@ -30,3 +30,4 @@ minimal,main_minimal,FUZZ_INPUT,4096,trigger_Qemu_break,NONE
gen3,main_minimal,FUZZ_INPUT,4096,trigger_Qemu_break,NONE
interact,main_interact,FUZZ_INPUT,4096,trigger_Qemu_break,NONE
interact_int,main_interact,FUZZ_INPUT,4096,trigger_Qemu_break,NONE
release,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3

1 kernel main_function input_symbol input_size return_function select_task
30 gen3 main_minimal FUZZ_INPUT 4096 trigger_Qemu_break NONE
31 interact main_interact FUZZ_INPUT 4096 trigger_Qemu_break NONE
32 interact_int main_interact FUZZ_INPUT 4096 trigger_Qemu_break NONE
33 release main_release FUZZ_INPUT 4096 trigger_Qemu_break T3

View File

@ -38,7 +38,7 @@ use log;
pub static mut RNG_SEED: u64 = 1;
pub const FIRST_INT : u32 = 500000;
pub const FIRST_INT : u32 = 200000;
pub const MAX_NUM_INTERRUPT: usize = 128;
pub const DO_NUM_INTERRUPT: usize = 128;
@ -123,7 +123,7 @@ macro_rules! do_dump_stg {
($state:expr, $cli:expr, $c:expr) => {
#[cfg(feature = "trace_stg")]
if $cli.dump_graph {
let dump_path = $cli.dump_name.clone().unwrap().with_extension(if $c=="" {"stg"} else {$c});
let dump_path = $cli.dump_name.clone().unwrap().with_extension(if $c=="" {"dot"} else {$c});
println!("Dumping graph to {:?}", &dump_path);
if let Some(md) = $state.named_metadata_map_mut().get_mut::<STGFeedbackState>("stgfeedbackstate") {
let out = md.graph.map(|_i,x| x.color_print(), |_i,x| x.color_print());