diff --git a/fuzzers/FRET/benchmark/.gitignore b/fuzzers/FRET/benchmark/.gitignore index a488ac44ed..c496b7ab01 100644 --- a/fuzzers/FRET/benchmark/.gitignore +++ b/fuzzers/FRET/benchmark/.gitignore @@ -1,3 +1,4 @@ timedump corpora build +mnt diff --git a/fuzzers/FRET/benchmark/Makefile b/fuzzers/FRET/benchmark/Makefile index 261b0b91ce..c3a8b2253c 100644 --- a/fuzzers/FRET/benchmark/Makefile +++ b/fuzzers/FRET/benchmark/Makefile @@ -1,4 +1,4 @@ -TIME=3600 +TIME=7200 corpora/%/seed: mkdir -p $$(dirname $@) @@ -26,9 +26,11 @@ timedump/%$(FUZZ_RANDOM): corpora/%/seed TIME_DUMP=benchmark/$@; \ ../fuzzer.sh + + + + + $(TIME) + + + -all_sequential: timedump/sequential/mpeg2$(FUZZ_RANDOM) timedump/sequential/dijkstra$(FUZZ_RANDOM) timedump/sequential/epic$(FUZZ_RANDOM) +all_sequential: timedump/sequential/mpeg2$(FUZZ_RANDOM) timedump/sequential/dijkstra$(FUZZ_RANDOM) timedump/sequential/epic$(FUZZ_RANDOM) \ + timedump/sequential/g723_enc$(FUZZ_RANDOM) timedump/sequential/audiobeam$(FUZZ_RANDOM) timedump/sequential/rijndael_dec$(FUZZ_RANDOM) \ + timedump/sequential/rijndael_enc$(FUZZ_RANDOM) timedump/sequential/gsm_enc$(FUZZ_RANDOM) -all_kernel: timedump/kernel/bsort$(FUZZ_RANDOM) timedump/kernel/insertsort$(FUZZ_RANDOM) # timedump/kernel/fft$(FUZZ_RANDOM) +all_kernel: timedump/kernel/bsort$(FUZZ_RANDOM) timedump/kernel/insertsort$(FUZZ_RANDOM) #timedump/kernel/fft$(FUZZ_RANDOM) clean: rm -rf corpora timedump \ No newline at end of file diff --git a/fuzzers/FRET/benchmark/plot_comparison.r b/fuzzers/FRET/benchmark/plot_comparison.r new file mode 100644 index 0000000000..def7ac62d9 --- /dev/null +++ b/fuzzers/FRET/benchmark/plot_comparison.r @@ -0,0 +1,17 @@ +#runtype="sequential" +runtype="kernel" +target="insertsort" +file_1=sprintf("~/code/FRET/LibAFL/fuzzers/FRET/benchmark/mnt/timedump/%s/%s",runtype,target) +file_2=sprintf("~/code/FRET/LibAFL/fuzzers/FRET/benchmark/mnt/timedump/%s/%s_random",runtype,target) +bsort <- read.table(file_1, quote="\"", comment.char="") +bsort_rand <- read.table(file_2, quote="\"", comment.char="") +bsort[[2]]=seq_len(length(bsort[[1]])) +bsort_rand[[2]]=seq_len(length(bsort_rand[[1]])) +names(bsort)[1] <- "bsort" +names(bsort)[2] <- "iter" +names(bsort_rand)[1] <- "bsort" +names(bsort_rand)[2] <- "iter" +plot(bsort[[2]],bsort[[1]], col="#99bbff", xlab="iters", ylab="wcet", pch='.') +points(bsort_rand[[2]],bsort_rand[[1]], col="#ffbb99", pch='.') +abline(lm(bsort ~ iter, data=bsort),col="green") +abline(lm(bsort ~ iter, data=bsort_rand),col="magenta") \ No newline at end of file diff --git a/fuzzers/FRET/benchmark/target_symbols.csv b/fuzzers/FRET/benchmark/target_symbols.csv index eebf55e2d6..82b36e9127 100644 --- a/fuzzers/FRET/benchmark/target_symbols.csv +++ b/fuzzers/FRET/benchmark/target_symbols.csv @@ -5,4 +5,10 @@ epic,epic_main,epic_image,4096,epic_return dijkstra,dijkstra_main,dijkstra_AdjMatrix,10000,dijkstra_return fft,fft_main,fft_twidtable,2046,fft_return bsort,bsort_main,bsort_Array,400,bsort_return -insertsort,insertsort_main,insertsort_a,44,insertsort_return \ No newline at end of file +insertsort,insertsort_main,insertsort_a,44,insertsort_return +g723_enc,g723_enc_main,g723_enc_INPUT,1024,g723_enc_return +rijndael_dec,rijndael_dec_main,rijndael_dec_data,32768,rijndael_dec_return +rijndael_enc,rijndael_enc_main,rijndael_enc_data,31369,rijndael_enc_return +huff_dec,huff_dec_main,huff_dec_encoded,419,huff_dec_return +huff_enc,huff_enc_main,huff_enc_plaintext,600,huff_enc_return +gsm_enc,gsm_enc_main,gsm_enc_pcmdata,6400,gsm_enc_return \ No newline at end of file diff --git a/fuzzers/FRET/src/fuzzer.rs b/fuzzers/FRET/src/fuzzer.rs index 1b8861389f..73a2799339 100644 --- a/fuzzers/FRET/src/fuzzer.rs +++ b/fuzzers/FRET/src/fuzzer.rs @@ -63,7 +63,7 @@ pub fn fuzz() { str::parse::(&s).expect("FUZZ_SIZE was not a number"); }; // Hardcoded parameters - let timeout = Duration::from_secs(1); + let timeout = Duration::from_secs(3); let broker_port = 1337; let cores = Cores::from_cmdline("1").unwrap(); let corpus_dirs = [PathBuf::from("./corpus")];