config+bounds update

This commit is contained in:
Alwin Berger 2025-02-27 17:10:18 +01:00
parent 6a4d1af606
commit c3d45680e8
9 changed files with 108 additions and 17 deletions

View File

@ -5,4 +5,4 @@ else
TARGET=$BENCHDIR TARGET=$BENCHDIR
fi fi
number_cruncher/target/debug/number_cruncher -i $TARGET/timedump -o $TARGET/bench.sqlite number_cruncher/target/debug/number_cruncher -i $TARGET/timedump -o $TARGET/bench.sqlite
Rscript plot_sqlite.r bench_$TARGET.sqlite $TARGET Rscript plot_sqlite.r $TARGET/bench.sqlite $TARGET

View File

@ -0,0 +1,13 @@
#!/usr/bin/env bash
./sem.sh /tmp/plot reset 20
declare -a PLOTS
COUNT=0
while IFS="" read -r p || [ -n "$p" ];
do
if [[ -z "$p" ]]; then
continue
fi
PLOTS[$COUNT]="$p"
COUNT=$((COUNT+1))
../../../../state2gantt/driver_sem.sh $p &
done < <(find $BENCHDIR/timedump -maxdepth 2 -type 'f' -iregex '.*icounttrace.ron$')

View File

@ -5,13 +5,13 @@ library("DBI")
args = commandArgs(trailingOnly=TRUE) args = commandArgs(trailingOnly=TRUE)
KNOWN_WCRT <- list( KNOWN_WCRT <- list(
waters_seq_bytes=209667, # via INSERT_WC waters_seq_bytes=219542, # via INSERT_WC
waters_seq_int=213646, # via INSERT_WC + manual interrupt waters_seq_int=219542, # via INSERT_WC + manual interrupt
waters_seq_full=213646,# via INSERT_WC + manual interrupt waters_seq_full=219542,# via INSERT_WC + manual interrupt
polycopter_seq_dataflow_full=273807, # via INSERT_WC + manual interrupt polycopter_seq_dataflow_full=343493, # via INSERT_WC + manual interrupt
polycopter_seq_dataflow_int=273807, # via INSERT_WC + manual interrupt polycopter_seq_dataflow_int=343493, # via INSERT_WC + manual interrupt
release_seq_int=624552, # via INSERT_WC + manual interrupt release_seq_int=645885, # via INSERT_WC + manual interrupt
release_seq_full=624552 # via INSERT_WC + manual interrupt release_seq_full=645885 # via INSERT_WC + manual interrupt
) )
STATIC_WCRT <- list( STATIC_WCRT <- list(

52
fuzzers/FRET/benchmark/sem.sh Executable file
View File

@ -0,0 +1,52 @@
#!/usr/bin/env bash
# A generic counting semaphore in bash
# Parameter is the lockfile and operation
# Setup:
# rm /tmp/test
# echo $num > /tmp/test
set -e
if [[ $2 = "reset" ]]; then
if [[ ! "$3" -gt "0" ]]; then echo "Parameter 3: Needs to be a number"; exit;fi
rm -f $1
[[ -d "$1_lockdir" ]] && rmdir $1_lockdir
echo $3 > $1
exit 0
fi
if [[ ! -f $1 ]]; then echo "Parameter 1: File Does not exist"; exit; fi
if [[ $2 != "lock" ]] && [[ $2 != "release" ]] && [[ $2 != "reset" ]]; then echo "Parameter 2: must be lock, release or reset"; exit; fi
if [[ $2 = "lock" ]]; then
SEM=''
while [[ -z $SEM ]]; do
if (( $(cat $1 ) == 0 )); then sleep 1; wait; continue; fi
if mkdir $1_lockdir > /dev/null 2>&1 ; then
VAL=$(cat $1)
if (( $VAL > 0 ))
then
SEM=$(sed -i "s@$VAL@$(( $VAL - 1))@w /dev/stdout" $1)
echo "Take $VAL -> $SEM"
else
sleep 1; wait
fi
else
sleep 0.5;
fi
done
rmdir $1_lockdir
else
SEM=''
while [[ -z $SEM ]]; do
if mkdir $1_lockdir > /dev/null 2>&1 ; then
VAL=$(cat $1)
SEM=$(sed -i "s@$VAL@$(( $VAL + 1))@w /dev/stdout" $1)
echo "Give $VAL -> $(( $VAL + 1 ))"
else
sleep 0.1;
fi
done
rmdir $1_lockdir
fi
#SEM=''; while [[ -z SEM ]]; do VAL=$(cat /tmp/test); if (( $VAL > 0 )); then SEM=$(sed -i "s@$VAL@$(( $VAL - 1))@w /dev/stdout" /tmp/test); else sleep 1; wait; fi; done

View File

@ -11,18 +11,18 @@ waters_seq_stateful_bytes,main_waters,FUZZ_INPUT,4096,trigger_Qemu_break,C13,
waters_par_stateful_full,main_waters,FUZZ_INPUT,4096,trigger_Qemu_break,C13,0#1000 waters_par_stateful_full,main_waters,FUZZ_INPUT,4096,trigger_Qemu_break,C13,0#1000
waters_par_stateful_int,main_waters,FUZZ_INPUT,4096,trigger_Qemu_break,C13,0#1000 waters_par_stateful_int,main_waters,FUZZ_INPUT,4096,trigger_Qemu_break,C13,0#1000
waters_par_stateful_bytes,main_waters,FUZZ_INPUT,4096,trigger_Qemu_break,C13, waters_par_stateful_bytes,main_waters,FUZZ_INPUT,4096,trigger_Qemu_break,C13,
release_seq_full,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3,0#10000;1#5000 release_seq_full,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3,0#30000;1#5000
release_seq_full,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3,0#10000;1#5000 release_seq_full,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3,0#30000;1#5000
release_seq_int,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3,0#10000;1#5000 release_seq_int,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3,0#30000;1#5000
release_seq_bytes,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3, release_seq_bytes,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3,
release_par_full,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3,0#10000;1#5000 release_par_full,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3,0#30000;1#5000
release_par_int,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3,0#10000;1#5000 release_par_int,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3,0#30000;1#5000
release_par_bytes,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3, release_par_bytes,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3,
release_seq_stateful_full,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3,0#10000;1#5000 release_seq_stateful_full,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3,0#30000;1#5000
release_seq_stateful_int,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3,0#10000;1#5000 release_seq_stateful_int,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3,0#30000;1#5000
release_seq_stateful_bytes,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3, release_seq_stateful_bytes,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3,
release_par_stateful_full,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3,0#10000;1#5000 release_par_stateful_full,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3,0#30000;1#5000
release_par_stateful_int,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3,0#10000;1#5000 release_par_stateful_int,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3,0#30000;1#5000
release_par_stateful_bytes,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3, release_par_stateful_bytes,main_release,FUZZ_INPUT,4096,trigger_Qemu_break,T3,
copter_seq_full,main_osek,FUZZ_INPUT,4096,trigger_Qemu_break,FC,0#20000 copter_seq_full,main_osek,FUZZ_INPUT,4096,trigger_Qemu_break,FC,0#20000
copter_seq_full,main_osek,FUZZ_INPUT,4096,trigger_Qemu_break,FC,0#20000 copter_seq_full,main_osek,FUZZ_INPUT,4096,trigger_Qemu_break,FC,0#20000

1 kernel main_function input_symbol input_size return_function select_task interrupts
11 waters_par_stateful_full main_waters FUZZ_INPUT 4096 trigger_Qemu_break C13 0#1000
12 waters_par_stateful_int main_waters FUZZ_INPUT 4096 trigger_Qemu_break C13 0#1000
13 waters_par_stateful_bytes main_waters FUZZ_INPUT 4096 trigger_Qemu_break C13
14 release_seq_full main_release FUZZ_INPUT 4096 trigger_Qemu_break T3 0#10000;1#5000 0#30000;1#5000
15 release_seq_full main_release FUZZ_INPUT 4096 trigger_Qemu_break T3 0#10000;1#5000 0#30000;1#5000
16 release_seq_int main_release FUZZ_INPUT 4096 trigger_Qemu_break T3 0#10000;1#5000 0#30000;1#5000
17 release_seq_bytes main_release FUZZ_INPUT 4096 trigger_Qemu_break T3
18 release_par_full main_release FUZZ_INPUT 4096 trigger_Qemu_break T3 0#10000;1#5000 0#30000;1#5000
19 release_par_int main_release FUZZ_INPUT 4096 trigger_Qemu_break T3 0#10000;1#5000 0#30000;1#5000
20 release_par_bytes main_release FUZZ_INPUT 4096 trigger_Qemu_break T3
21 release_seq_stateful_full main_release FUZZ_INPUT 4096 trigger_Qemu_break T3 0#10000;1#5000 0#30000;1#5000
22 release_seq_stateful_int main_release FUZZ_INPUT 4096 trigger_Qemu_break T3 0#10000;1#5000 0#30000;1#5000
23 release_seq_stateful_bytes main_release FUZZ_INPUT 4096 trigger_Qemu_break T3
24 release_par_stateful_full main_release FUZZ_INPUT 4096 trigger_Qemu_break T3 0#10000;1#5000 0#30000;1#5000
25 release_par_stateful_int main_release FUZZ_INPUT 4096 trigger_Qemu_break T3 0#10000;1#5000 0#30000;1#5000
26 release_par_stateful_bytes main_release FUZZ_INPUT 4096 trigger_Qemu_break T3
27 copter_seq_full main_osek FUZZ_INPUT 4096 trigger_Qemu_break FC 0#20000
28 copter_seq_full main_osek FUZZ_INPUT 4096 trigger_Qemu_break FC 0#20000

4
fuzzers/FRET/tests/iterate.sh Executable file
View File

@ -0,0 +1,4 @@
#!/bin/sh
../../../../input_serde/target/debug/input_serde -i edit -c "$1" -f case > test.case
../target/debug/fret -k "$2" -c ../benchmark/target_symbols.csv -n ./dump/test -targ -s "$3" showmap -i ./test.case
../../../../state2gantt/driver.sh dump/test.trace.ron $4

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,11 @@
{"bytes":Left([175,101,239,153,39,25,250,35,208,208,167,208,191,35,23,225,24,190,143,201,201,201,201,201,235,201,247,203,225,55,35,185,91,71,235,86,156,212,175,201,18,201,201,201,201,201,201,194,236,201,201,201,201,201,201,201,225,251,131,91,91,71,235,225,251,131,92,91,7,235,127,255,255,225,201,201,201,201,54,201,187,201,201,201,201,201,201,201,201,200,201,201,201,201,201,239,239,239,239,201,201,201,239,239,240,15,239,239,255,239,201,201,201,201,201,54,201,201,201,201,201,201,201,201,201,201,201,0,255,175,101,239,153])
,
"isr_0_times":Right([
329095
]),
"isr_1_times":Right([
349851,506101,667851,860632,
3506320, 5068820, 6676010, 8894760
])
}

View File

@ -0,0 +1,9 @@
{"bytes":Left([241,241,241,15,241,56,241,133,237,250,159,177,24,253,127,7,7,7,7,7,15,241,56,241,133,237,250,159,177,24,253,127,241,241,241,241,241,241,241,241,241,241,242,127,0,241,241,241,237,225,211,247,254,0,133,255,255,133,237,250,176,171,152,250,93,255,255,255,237,2,237,127,251,255,241,215,241,241,211,241,241,241,241,241,241,241,241,253,241,241,250,159,241,242,241,241,242,127,0,0,127,255,0,0,0,0,241,128,71,221,241,241,69,243,58,211,247,2,0,127,234,255,133,237,250,241,241,241,241,242,127,0,241,241,241,237,225,211,247,254,0,127,215,241,241,211,241,241,241,241,241,241,241,241,253,241,241,241,128,71,241,241,241,15,241,56,241,133,237,250,159,177,24,253,127,133,237,241,241,241,253,241,241,241,24,253,128,241,241,2,2,2,2,2,2,2,0,0,0,241,128,71,221,241,241,69,243,79,146,0,0,241,128,71,221,241,241,69,12,80,146,237,127,255,255,241]),
"isr_0_times":Right([128,65535,522875,556908,603648,605758,
654632,675391,686821,686822,708351,724562,724562,735120,
766098,766098,766098,
829189,860723,878296,892400,
1080757,1112007,1143257,1174507,1205757,1237007,1268257,1299507,1330757,1362007,1393257
])}