83 lines
3.5 KiB
R
83 lines
3.5 KiB
R
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() |