config generation
This commit is contained in:
parent
8165fd7cfc
commit
26452d9a0d
@ -35,6 +35,7 @@ feed_genetic = []
|
|||||||
gensize_1 = [ ]
|
gensize_1 = [ ]
|
||||||
gensize_10 = [ ]
|
gensize_10 = [ ]
|
||||||
gensize_100 = [ ]
|
gensize_100 = [ ]
|
||||||
|
gensize_1000 = [ ]
|
||||||
# schedulers
|
# schedulers
|
||||||
sched_genetic = []
|
sched_genetic = []
|
||||||
sched_afl = []
|
sched_afl = []
|
||||||
|
@ -66,6 +66,24 @@ rule build_feedgeneration100:
|
|||||||
shell:
|
shell:
|
||||||
"cargo build --target-dir {output} {def_flags},config_genetic,gensize_100"
|
"cargo build --target-dir {output} {def_flags},config_genetic,gensize_100"
|
||||||
|
|
||||||
|
rule build_genetic100:
|
||||||
|
output:
|
||||||
|
directory("bins/target_genetic100")
|
||||||
|
shell:
|
||||||
|
"cargo build --target-dir {output} {def_flags},config_genetic,mutate_stg,gensize_100"
|
||||||
|
|
||||||
|
rule build_feedgeneration1000:
|
||||||
|
output:
|
||||||
|
directory("bins/target_feedgeneration100")
|
||||||
|
shell:
|
||||||
|
"cargo build --target-dir {output} {def_flags},config_genetic,gensize_1000"
|
||||||
|
|
||||||
|
rule build_genetic1000:
|
||||||
|
output:
|
||||||
|
directory("bins/target_genetic100")
|
||||||
|
shell:
|
||||||
|
"cargo build --target-dir {output} {def_flags},config_genetic,mutate_stg,gensize_1000"
|
||||||
|
|
||||||
rule run_bench:
|
rule run_bench:
|
||||||
input:
|
input:
|
||||||
"build/{target}.elf",
|
"build/{target}.elf",
|
||||||
@ -169,68 +187,12 @@ rule trace2gantt:
|
|||||||
shell:
|
shell:
|
||||||
"Rscript $(pwd)/../../../../state2gantt/plot_response.r {input[0]} {input[1]} html"
|
"Rscript $(pwd)/../../../../state2gantt/plot_response.r {input[0]} {input[1]} html"
|
||||||
|
|
||||||
rule all_main:
|
|
||||||
input:
|
|
||||||
expand("timedump/{fuzzer}/{target}.{num}", fuzzer=['random','afl','feedgeneration10','state'], target=['waters','watersv2'],num=range(0,3))
|
|
||||||
|
|
||||||
rule all_main_int:
|
|
||||||
input:
|
|
||||||
expand("timedump/{fuzzer}/{target}.{num}", fuzzer=['random','afl','feedgeneration10','state'], target=['waters_int','watersv2_int'],num=range(0,4))
|
|
||||||
|
|
||||||
rule all_compare_feedgeneration:
|
|
||||||
input:
|
|
||||||
expand("timedump/{fuzzer}/{target}.{num}", fuzzer=['feedgeneration1','feedgeneration10','feedgeneration100'], target=['waters_int','watersv2'],num=range(0,10))
|
|
||||||
|
|
||||||
rule all_compare_feedgeneration_int:
|
|
||||||
input:
|
|
||||||
expand("timedump/{fuzzer}/{target}.{num}", fuzzer=['feedgeneration1','feedgeneration10','feedgeneration100'], target=['waters_int','watersv2_int'],num=range(0,10))
|
|
||||||
|
|
||||||
rule all_compare_afl:
|
|
||||||
input:
|
|
||||||
expand("timedump/{fuzzer}/{target}.{num}", fuzzer=['afl','frafl','feedlongest'], target=['waters','watersv2'],num=range(0,10))
|
|
||||||
|
|
||||||
rule all_compare_afl_int:
|
|
||||||
input:
|
|
||||||
expand("timedump/{fuzzer}/{target}.{num}", fuzzer=['afl','frafl','feedlongest'], target=['waters_int','watersv2_int'],num=range(0,10))
|
|
||||||
|
|
||||||
rule all_images:
|
|
||||||
input:
|
|
||||||
expand("{remote}timedump/{fuzzer}/{target}.{num}.trace.csv.png",remote=remote, fuzzer=['frafl','feedgeneration10','state'], target=['waters'],num=range(0,3))
|
|
||||||
|
|
||||||
rule all_images_int:
|
|
||||||
input:
|
|
||||||
expand("{remote}timedump/{fuzzer}/{target}.{num}.trace.csv.png",remote=remote, fuzzer=['frafl','feedgeneration10','state'], target=['waters_int'],num=range(0,3))
|
|
||||||
|
|
||||||
rule clusterfuzz:
|
|
||||||
input:
|
|
||||||
expand("timedump/{fuzzer}/{target}.{num}", fuzzer=['random','afl','feedgeneration10','state'], target=['waters','watersv2'],num=MY_RANGE_A),
|
|
||||||
expand("timedump/{fuzzer}/{target}.{num}", fuzzer=['random','afl','feedgeneration10','state'], target=['waters_int','watersv2_int'],num=MY_RANGE_A),
|
|
||||||
expand("timedump/{fuzzer}/{target}.{num}", fuzzer=['feedgeneration1','feedgeneration10','feedgeneration100'], target=['waters_int','watersv2'],num=MY_RANGE_B),
|
|
||||||
expand("timedump/{fuzzer}/{target}.{num}", fuzzer=['feedgeneration1','feedgeneration10','feedgeneration100'], target=['waters_int','watersv2_int'],num=MY_RANGE_B),
|
|
||||||
expand("timedump/{fuzzer}/{target}.{num}", fuzzer=['afl','frafl','feedlongest'], target=['waters','watersv2'],num=MY_RANGE_B),
|
|
||||||
expand("timedump/{fuzzer}/{target}.{num}", fuzzer=['afl','frafl','feedlongest'], target=['waters_int','watersv2_int'],num=MY_RANGE_B),
|
|
||||||
|
|
||||||
rule all_new:
|
|
||||||
input:
|
|
||||||
expand("timedump/{fuzzer}/{target}#{num}.time", fuzzer=['feedgeneration100', 'frafl', 'stg'], target=['waters_seq', 'watersv2_seq', 'waters_par', 'watersv2_par'],num=range(0,2)),
|
|
||||||
expand("timedump/{fuzzer}/{target}#{num}.time", fuzzer=['feedgeneration100', 'frafl', 'stg'], target=['waters_seq_int', 'watersv2_seq_int', 'waters_par_int', 'watersv2_par_int'],num=range(0,2)),
|
|
||||||
# expand("timedump/{fuzzer}/{target}#{num}.time", fuzzer=['random', 'stgpath'], target=['waters', 'watersv2'],num=range(0,3)),
|
|
||||||
# expand("timedump/{fuzzer}/{target}#{num}.time", fuzzer=['random_int', 'stgpath_int'], target=['waters_int', 'watersv2_int'],num=range(0,3))
|
|
||||||
|
|
||||||
rule all_showmap:
|
|
||||||
input:
|
|
||||||
expand("{remote}timedump/{fuzzer}/{target}#{num}_case.trace.ron",remote=remote, fuzzer=['frafl', 'stg'], target=['watersv2'],num=range(2,3)),
|
|
||||||
expand("{remote}timedump/{fuzzer}/{target}#{num}_case.trace.ron",remote=remote, fuzzer=['frafl', 'stg'], target=['watersv2_int'],num=range(0,3)),
|
|
||||||
expand("{remote}timedump/{fuzzer}/{target}#{num}_case.trace.ron",remote=remote, fuzzer=['random', 'stgpath'], target=['watersv2'],num=range(0,1)),
|
|
||||||
expand("{remote}timedump/{fuzzer}/{target}#{num}_case.trace.ron",remote=remote, fuzzer=['random', 'stgpath'], target=['watersv2_int'],num=range(0,1))
|
|
||||||
|
|
||||||
rule quicktest:
|
rule quicktest:
|
||||||
input:
|
input:
|
||||||
expand("timedump/{fuzzer}/{target}#{num}.time", fuzzer=['feedgeneration100', 'frafl', 'stg'], target=['release'],num=range(0,1)),
|
expand("timedump/{fuzzer}/{target}#{num}.time", fuzzer=['random', 'feedgeneration100', 'feedgeneration1000', 'frafl', 'stg'], target=['waters_seq', 'watersv2_seq', 'waters_par', 'watersv2_par'],num=range(0,1)),
|
||||||
expand("timedump/{fuzzer}/{target}#{num}.time", fuzzer=['random', 'stgpath'], target=['release'],num=range(0,1))
|
expand("timedump/{fuzzer}/{target}#{num}.time", fuzzer=['random', 'feedgeneration100', 'feedgeneration1000', 'genetic100', 'genetic1000', 'frafl', 'stg'], target=['waters_seq_int', 'watersv2_seq_int', 'waters_par_int', 'watersv2_par_int', 'release'],num=range(0,1)),
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
rule all_bins:
|
rule all_bins:
|
||||||
input:
|
input:
|
||||||
expand("bins/target_{target}",target=['random','frafl','stg','stgpath','feedgeneration100'])
|
expand("bins/target_{target}",target=['random','frafl','stg','stgpath','feedgeneration100', 'feedgeneration1000', 'genetic100', 'genetic1000'])
|
||||||
|
@ -9,4 +9,7 @@ cargo build --target-dir ./bins/target_stgpath ${def_flags},feed_stg_abbhash,sch
|
|||||||
cargo build --target-dir ./bins/target_feedgeneration1 ${def_flags},feed_genetic,gensize_1
|
cargo build --target-dir ./bins/target_feedgeneration1 ${def_flags},feed_genetic,gensize_1
|
||||||
cargo build --target-dir ./bins/target_feedgeneration10 ${def_flags},feed_genetic,gensize_10
|
cargo build --target-dir ./bins/target_feedgeneration10 ${def_flags},feed_genetic,gensize_10
|
||||||
cargo build --target-dir ./bins/target_feedgeneration100 ${def_flags},feed_genetic,gensize_100
|
cargo build --target-dir ./bins/target_feedgeneration100 ${def_flags},feed_genetic,gensize_100
|
||||||
|
cargo build --target-dir ./bins/target_feedgeneration1000 ${def_flags},feed_genetic,gensize_1000
|
||||||
|
cargo build --target-dir ./bins/target_genetic100 ${def_flags},feed_genetic,mutate_stg,gensize_100
|
||||||
|
cargo build --target-dir ./bins/target_genetic1000 ${def_flags},feed_genetic,mutate_stg,gensize_1000
|
||||||
|
|
||||||
|
@ -269,9 +269,18 @@ impl<S> GenerationScheduler<S>
|
|||||||
{
|
{
|
||||||
#[allow(unused)]
|
#[allow(unused)]
|
||||||
pub fn new() -> Self {
|
pub fn new() -> Self {
|
||||||
|
let gen_size = 100;
|
||||||
|
#[cfg(feature = "gensize_1")]
|
||||||
|
let gen_size= 1;
|
||||||
|
#[cfg(feature = "gensize_10")]
|
||||||
|
let gen_size= 10;
|
||||||
|
#[cfg(feature = "gensize_100")]
|
||||||
|
let gen_size= 100;
|
||||||
|
#[cfg(feature = "gensize_1000")]
|
||||||
|
let gen_size= 1000;
|
||||||
Self {
|
Self {
|
||||||
phantom: PhantomData,
|
phantom: PhantomData,
|
||||||
gen_size: 100,
|
gen_size
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user