library("mosaic") args = commandArgs(trailingOnly=TRUE) #myolors=c("#339933","#0066ff","#993300") # grün, balu, rot myolors=c("dark green","dark blue","dark red", "yellow") # grün, balu, rot if (length(args)==0) { runtype="timedump" target="waters" filename_1=sprintf("%s.png",target) filename_2=sprintf("%s_maxline.png",target) filename_3=sprintf("%s_hist.png",target) } else { runtype=args[1] target=args[2] filename_1=sprintf("%s.png",args[2]) filename_2=sprintf("%s_maxline.png",args[2]) filename_3=sprintf("%s_hist.png",args[2]) # filename_1=args[3] } file_1=sprintf("~/code/FRET/LibAFL/fuzzers/FRET/benchmark/%s/%s_state",runtype,target) file_2=sprintf("~/code/FRET/LibAFL/fuzzers/FRET/benchmark/%s/%s_afl",runtype,target) file_3=sprintf("~/code/FRET/LibAFL/fuzzers/FRET/benchmark/%s/%s_random",runtype,target) file_4=sprintf("~/code/FRET/LibAFL/fuzzers/FRET/benchmark/%s/%s_graph",runtype,target) timetrace <- read.table(file_1, quote="\"", comment.char="") timetrace_afl <- read.table(file_2, quote="\"", comment.char="") timetrace_rand <- read.table(file_3, quote="\"", comment.char="") timetrace_graph <- read.table(file_4, quote="\"", comment.char="") timetrace[[2]]=seq_len(length(timetrace[[1]])) timetrace_afl[[2]]=seq_len(length(timetrace_afl[[1]])) timetrace_rand[[2]]=seq_len(length(timetrace_rand[[1]])) timetrace_graph[[2]]=seq_len(length(timetrace_graph[[1]])) names(timetrace)[1] <- "timetrace" names(timetrace)[2] <- "iter" names(timetrace_afl)[1] <- "timetrace" names(timetrace_afl)[2] <- "iter" names(timetrace_rand)[1] <- "timetrace" names(timetrace_rand)[2] <- "iter" names(timetrace_graph)[1] <- "timetrace" names(timetrace_graph)[2] <- "iter" png(file=filename_1) # pdf(file=filename_1,width=8, height=8) plot(timetrace[[2]],timetrace[[1]], col=myolors[1], xlab="iters", ylab="wcet", pch='.') points(timetrace_afl[[2]],timetrace_afl[[1]], col=myolors[2], pch='.') points(timetrace_rand[[2]],timetrace_rand[[1]], col=myolors[3], pch='.') points(timetrace_graph[[2]],timetrace_graph[[1]], col=myolors[4], pch='.') abline(lm(timetrace ~ iter, data=timetrace),col=myolors[1]) abline(lm(timetrace ~ iter, data=timetrace_afl),col=myolors[2]) abline(lm(timetrace ~ iter, data=timetrace_rand),col=myolors[3]) dev.off() png(file=filename_3) gf_histogram(~ timetrace,data=timetrace, fill=myolors[1]) %>% gf_histogram(~ timetrace,data=timetrace_afl, fill=myolors[2]) %>% gf_histogram(~ timetrace,data=timetrace_rand, fill=myolors[3]) %>% gf_histogram(~ timetrace,data=timetrace_graph, fill=myolors[4]) dev.off() # Takes a flat list trace2maxline <- function(tr) { maxline = tr for (var in seq_len(length(maxline))[2:length(maxline)]) { maxline[var] = max(maxline[var],maxline[var-1]) } #plot(seq_len(length(maxline)),maxline,"l",xlab="Index",ylab="WOET") return(maxline) } timetrace[[1]] <- trace2maxline(timetrace[[1]]) timetrace_afl[[1]] <- trace2maxline(timetrace_afl[[1]]) timetrace_rand[[1]] <- trace2maxline(timetrace_rand[[1]]) timetrace_graph[[1]] <- trace2maxline(timetrace_graph[[1]]) png(file=filename_2) plot(timetrace[[2]],timetrace[[1]], col=myolors[1], xlab="iters", ylab="wcet", pch='.') points(timetrace_afl[[2]],timetrace_afl[[1]], col=myolors[2], pch='.') points(timetrace_rand[[2]],timetrace_rand[[1]], col=myolors[3], pch='.') points(timetrace_graph[[2]],timetrace_graph[[1]], col=myolors[4], pch='.') #abline(lm(timetrace ~ iter, data=timetrace),col=myolors[1]) #abline(lm(timetrace ~ iter, data=timetrace_afl),col=myolors[2]) #abline(lm(timetrace ~ iter, data=timetrace_rand),col=myolors[3]) dev.off()