Run script refined

This commit is contained in:
Claudio Maggioni 2023-05-12 19:27:10 +02:00
parent 5c64f6dcbc
commit 38e04a2952
3 changed files with 24 additions and 5 deletions

View file

@ -4,7 +4,11 @@ set -e
SCRIPT_DIR=$(cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd)
cc="gcc-13"
if [ "$(uname)" = "Darwin" ]; then
cc="$(find /usr/local/bin -name 'gcc-*' | head -n 1)"
else
cc="gcc"
fi
if [ "$#" -ne 4 ]; then
@ -12,11 +16,21 @@ if [ "$#" -ne 4 ]; then
exit 1
fi
if [ "$1" == "all" ]; then
for ltl in seq_eq_parallel termination correctness_seq correctness_par; do
printf "\033[36m>>> Checking LTL property: $ltl\033[0m\n"
"$0" "$ltl" "$2" "$3" "$4"
done
printf "\033[41m$(cat "$SCRIPT_DIR/../Reversal/run.dat" | base64 -d)\033[0m\n"
exit 0
fi
id="${1}_${2}_${3}_${4}"
filename="reversal_$id.pml"
pan_name="pan_$id"
compile_dir="$(mktemp -d)"
echo "Compiling and running in: $compile_dir"
cp "$SCRIPT_DIR/reversal.pml.m4" "$compile_dir"
cd "$compile_dir"
@ -35,12 +49,10 @@ spin -a "$filename"
# Execute trail if check fails
if [ -f "$filename.trail" ]; then
echo "FAILED" >> /dev/stderr
echo -e "\033[31mVerification FAILED! Counterexample trace follows:\033[0m"
"./$pan_name" -S -N "$1" "$filename.trail"
fi
cd "$SCRIPT_DIR"
echo "Compiling in: $compile_dir"
rm -rf "$compile_dir"
printf "\033[41m$(cat "$SCRIPT_DIR/../Reversal/run.dat" | base64 -d)\033[0m\n"

View file

@ -90,7 +90,7 @@ This report covers the definition of the model to check and the necessary LTL
properties to verify correctness of the implementation, and additionally
presents a brief analysis on the performance of the automated model checker.
\section{Model definition}
\section{Model Definition}
In this section I define the \textit{ProMeLa} code which implements a FSA model
of the Java implementation. The model I define does not match the exact provided
@ -402,6 +402,8 @@ manage to execute \mintinline{c}{r_p[2] = a[0]} before the second thread
terminates. Indeed, this is a realistic counterexample that could be reproduced
in the Java program.
\section{Model Execution}
The citation \cite{tange_2023_7855617}.

5
start-docker.sh Executable file
View file

@ -0,0 +1,5 @@
#!/bin/sh
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
docker run --rm -it -v "${SCRIPT_DIR}:/tools/home" bugcounting/satools:y23