Commit dc18ea40 authored by Christian Müller's avatar Christian Müller

measure scripts, better examples

parent a9050f9d
Workflow
forallmay a
True -> T1 += (a)
forallmay a
¬ T1(a) -> T2 += (a)
forallmay a
(¬ T1(a) ∧ ¬ T2(a)) -> T3 += (a)
forallmay a
(¬ T1(a) ∧ ¬ T2(a) ∧ ¬ T3(a)) -> T4 += (a)
forall a
(O(a) ∧ T1(a)) -> R += (a)
forallmay a,b
(T1(a) ∧ T2(b)) -> S += (b, a)
forallmay a,b
(T2(a) ∧ T3(b)) -> T += (b, a)
forallmay a,b
(T3(a) ∧ T4(b)) -> U += (b, a)
Declassify
O(x): F (T1(x) ∨ T2(x))
Target
U(a1, a2)
Causality
ca, cb, cc
......@@ -3,12 +3,12 @@ Workflow
forallmay x:A,p:P
True -> Conf += (x,p)
forallmay x:A,p:P
!Conf(x,p) -> Ass += (x,p)
forallmay x:A,p:P
(Ass(x,p) ∧ O(x,p)) -> Acc += (x,p)
!Conf(x,p) -> Assign += (x,p)
forall x:A,p:P
(Assign(x,p) ∧ O(x,p)) -> Acc += (x,p)
loop {
forall xa:A,xb:A,p:P (Ass(xa,p) ∧ Acc(xb,p)) -> Read += (xa,xb,p)
forallmay x:A,p:P (Ass(x,p) ∧ O(x,p)) -> Acc += (x,p)
forall xa:A,xb:A,p:P (Assign(xa,p) ∧ Acc(xb,p)) -> Read += (xa,xb,p)
forallmay x:A,p:P (Assign(x,p) ∧ O(x,p)) -> Acc += (x,p)
}
Declassify
......
......@@ -16,3 +16,7 @@ O(x:X,p:P,r:R): G ¬ Conf(xt:X,p:P)
Target
Comm(xt:X, yt:X, pt:P)
Causality
a:X
Workflow
forallmay i,j O(i,j) -> A += (i,j)
forall i,j A(i,j) -> B += (i,j)
forall i,j B(i,j) -> C += (i,j)
forall i,j C(i,j) -> D += (i,j)
forall i,j D(i,j) -> E += (i,j)
forall i,j E(i,j) -> F += (i,j)
forall i,j F(i,j) -> G += (i,j)
forall i,j G(i,j) -> H += (i,j)
forall i,j H(i,j) -> I += (i,j)
forall i,j I(i,j) -> J += (i,j)
Target
J(x,y)
Workflow
forallmay i True -> R += (i)
forallmay i,j (R(i) ∧ R(j)) -> S += (i,j)
forallmay i,j,k (S(i,j) ∧ S(j,k)) -> T += (i,j,k)
forallmay i,j,k,l (T(i,j,k) ∧ T(j,k,l)) -> U += (i,j,k,l)
Target
U(u,v,w,x)
\ No newline at end of file
Workflow
loop {
choose {
forallmay x:User, i:Info
Written(i, x) → Read += (x, i)
} {
forallmay x:User, i:Info
Oracle(i, x) → Written += (i, x)
}
}
Declassify
Oracle(i:Info,x:User): F (Written(u:User, i:Info))
Target
Read(u:User, info:Info)
Workflow
forallmay a
True -> T1 += (a)
forallmay a
¬ T1(a) -> T2 += (a)
forallmay a
(¬ T1(a) ∧ ¬ T2(a)) -> T3 += (a)
forall a
(O(a) ∧ T1(a)) -> R += (a)
forallmay a,b
(T1(a) ∧ T2(b)) -> S += (b, a)
forallmay a,b
(T2(a) ∧ T3(b)) -> S += (b, a)
Declassify
O(x): F (T1(x) ∨ T2(x))
Target
S(a1, a2)
Causality
ca, cb
Workflow
forallmay i True -> R += (i)
forallmay i,j (R(i)) -> S += (i,j)
Target
S(x,y)
Workflow
forallmay i True -> R += (i)
forallmay i,j (R(i) ∧ R(j)) -> S += (i,j)
forallmay i,j,k (S(i,j) ∧ S(j,k)) -> T += (i,j,k)
forallmay i,j (R(i)) -> S += (i,j)
forallmay i,j,k (S(i,j)) -> T += (i,j,k)
Target
......
Workflow
forallmay i True -> R += (i)
forallmay i,j (R(i)) -> S += (i,j)
forallmay i,j,k (S(i,j)) -> T += (i,j,k)
forallmay i,j,k,l (T(i,j,k)) -> U += (i,j,k,l)
Target
U(u,v,w,x)
IGNORE
Workflow
forallmay i True -> R += (i)
forallmay i,j (R(i)) -> S += (i,j)
forallmay i,j,k (S(i,j)) -> T += (i,j,k)
forallmay i,j,k,l (T(i,j,k)) -> U += (i,j,k,l)
forallmay i,j,k,l,m (U(i,j,k,l)) -> V += (i,j,k,l,m)
Target
V(a,b,c,d,e)
Workflow
forallmay i:A True -> R += (i)
forallmay i:A,j:B (R(i)) -> S += (i,j)
Target
S(x:A,y:B)
Workflow
forallmay i:A True -> R += (i)
forallmay i:A,j:B (R(i)) -> S += (i,j)
forallmay i:A,j:B,k:C (S(i,j)) -> T += (i,j,k)
Target
T(x:A,y:B,z:C)
Workflow
forallmay i:A True -> R += (i)
forallmay i:A,j:B (R(i)) -> S += (i,j)
forallmay i:A,j:B,k:C (S(i,j)) -> T += (i,j,k)
forallmay i:A,j:B,k:C,l:D (T(i,j,k)) -> U += (i,j,k,l)
Target
U(u:A,v:B,w:C,x:D)
Workflow
forallmay i:A True -> R += (i)
forallmay i:A,j:B (R(i)) -> S += (i,j)
forallmay i:A,j:B,k:C (S(i,j)) -> T += (i,j,k)
forallmay i:A,j:B,k:C,l:D (T(i,j,k)) -> U += (i,j,k,l)
forallmay i:A,j:B,k:C,l:D,m:E (U(i,j,k,l)) -> V += (i,j,k,l,m)
Target
V(u:A,v:B,w:C,x:D,y:E)
# /bin/bash
RESULT=results/measure.txt
TIMEOUT=15m
touch ${RESULT}
echo "Measurement $(date)" >> ${RESULT}
echo "" >> ${RESULT}
for FILE in results/*.ltl
do
NAME=$(basename ${FILE} .ltl)
echo "Measuring ${FILE}"
echo "${FILE}:" >> ${RESULT}
echo " FOLTL length: $(wc -m < results/${NAME}.foltl)" >> ${RESULT}
echo " LTL length: $(wc -m < ${FILE})" >> ${RESULT}
if
timeout ${TIMEOUT} time -p aalta/Aalta_v2.0/aalta < ${FILE} >> ${RESULT} 2>&1
then
echo "Finished successfully"
echo " Finished successfully" >> ${RESULT}
else
echo "Timeout after ${TIMEOUT}"
echo " Timeout after ${TIMEOUT}" >> ${RESULT}
fi
echo "" >> ${RESULT}
done
# /bin/bash
RESULT=results/measure.txt
TIMEOUT=3s
TIMEOUT=10s
touch ${RESULT}
echo "Measurement $(date)" >> ${RESULT}
......
Measurement Fri May 12 17:33:30 WEST 2017
Measurement Mon May 15 17:10:11 WEST 2017
results/declasstest_stubborn.ltl:
FOLTL length: 2927
LTL length: 4518
results/causal2_causal.ltl:
FOLTL length: 6801
LTL length: 47672
sat
real 195.31
user 195.14
sys 0.16
Finished successfully
results/causal2_stubborn.ltl:
FOLTL length: 5078
LTL length: 6880
unsat
real 1.30
user 1.26
real 26.73
user 26.73
sys 0.00
Finished successfully
results/causal3_causal.ltl:
FOLTL length: 12974
LTL length: 213970
Timeout after 15m
results/causal3_stubborn.ltl:
FOLTL length: 9368
LTL length: 14608
unsat
real 51.34
user 51.31
sys 0.02
Finished successfully
results/easychair3_causal.ltl:
FOLTL length: 5962
LTL length: 51350
Timeout after 3s
FOLTL length: 5857
LTL length: 51702
sat
real 17.84
user 17.74
sys 0.09
Finished successfully
results/easychair3_stubborn.ltl:
FOLTL length: 5019
LTL length: 7318
Timeout after 3s
FOLTL length: 5073
LTL length: 7482
unsat
real 2.19
user 2.17
sys 0.01
Finished successfully
results/easychair_causal.ltl:
FOLTL length: 6318
LTL length: 108512
Timeout after 3s
sat
real 41.61
user 41.36
sys 0.24
Finished successfully
results/easychair_linear_causal.ltl:
FOLTL length: 4693
LTL length: 44240
sat
real 8.49
user 8.39
sys 0.10
Finished successfully
results/easychair_linear_stubborn.ltl:
FOLTL length: 3851
LTL length: 4787
unsat
real 0.76
user 0.76
real 0.75
user 0.75
sys 0.00
Finished successfully
......@@ -37,86 +81,85 @@ results/easychair_stubborn.ltl:
FOLTL length: 5452
LTL length: 8304
unsat
real 2.18
user 2.18
real 2.14
user 2.14
sys 0.00
Finished successfully
results/linear3_stubborn.ltl:
FOLTL length: 2163
LTL length: 13352
Timeout after 3s
results/linear4_stubborn.ltl:
FOLTL length: 3506
LTL length: 154103
Timeout after 3s
results/prevexampleNoOracle_stubborn.ltl:
FOLTL length: 2392
LTL length: 15687
Timeout after 3s
results/prevexample_stubborn.ltl:
FOLTL length: 2442
LTL length: 15885
results/linear10_stubborn.ltl:
FOLTL length: 13662
LTL length: 26551
sat
real 0.13
user 0.10
sys 0.03
real 0.89
user 0.82
sys 0.06
Finished successfully
results/simpleChoiceNoOracle_stubborn.ltl:
FOLTL length: 513
LTL length: 820
results/notebook_stubborn.ltl:
FOLTL length: 1413
LTL length: 952
unsat
real 0.01
user 0.01
real 0.00
user 0.00
sys 0.00
Finished successfully
results/simpleChoice_stubborn.ltl:
FOLTL length: 559
LTL length: 908
sat
real 0.00
user 0.00
results/tree2_stubborn.ltl:
FOLTL length: 1122
LTL length: 1567
unsat
real 0.08
user 0.08
sys 0.00
Finished successfully
results/simpleChoiceTypedDeclassified_stubborn.ltl:
FOLTL length: 555
LTL length: 349
results/tree3_stubborn.ltl:
FOLTL length: 2067
LTL length: 12596
unsat
real 0.00
user 0.00
real 6.20
user 6.17
sys 0.03
Finished successfully
results/tree4_stubborn.ltl:
FOLTL length: 3356
LTL length: 145751
Timeout after 15m
results/typedtree2_stubborn.ltl:
FOLTL length: 1122
LTL length: 677
unsat
real 0.03
user 0.02
sys 0.00
Finished successfully
results/simpleChoiceTypedPartlyDeclassified_stubborn.ltl:
FOLTL length: 1276
LTL length: 844
results/typedtree3_stubborn.ltl:
FOLTL length: 2067
LTL length: 1208
unsat
real 0.04
user 0.04
real 0.09
user 0.09
sys 0.00
Finished successfully
results/simpleChoiceTyped_stubborn.ltl:
FOLTL length: 505
LTL length: 316
sat
real 0.00
user 0.00
results/typedtree4_stubborn.ltl:
FOLTL length: 3356
LTL length: 1925
unsat
real 0.21
user 0.21
sys 0.00
Finished successfully
results/simpleNoChoice_stubborn.ltl:
FOLTL length: 505
LTL length: 780
sat
real 0.00
user 0.00
results/typedtree5_stubborn.ltl:
FOLTL length: 5037
LTL length: 2852
unsat
real 0.41
user 0.40
sys 0.00
Finished successfully
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment