Comparisons with other static approaches

We compare below the musketeer to the previous static techniques that we reimplemented. We exercise the different implementations on the benchmarks classic, fast and debian for TSO. In the table, (m) is our tool musketeer. (p) is the delay set analysis of Pensieve. (v) is the Visual Studio policy. (e) places a fence after each access to shared memory. (n) is the naive method of [19, p. 288], i.e. a fence on each delay.

A short analysis of these results regarding the precision:

program(m)(p)(v)(e)(n)
 timefencestimefencestimefencestimefencestimefences
classic
dekker0.01s30.01s16<0.01s00.01s180.01s16
peterson0.01s20.01s6<0.01s00.01s100.01s6
lamport0.01s40.01s10<0.01s00.01s200.01s18
szymanski0.01s40.01s12<0.01s00.01s120.01s12
parker0.02s30.02s70.01s110.01s210.01s9
fast
Cil0.02s30.02s50.01s260.01s200.02s13
CL0.02s20.02s80.02s120.02s120.02s10
Fif0.05s20.05s330.04s00.05s280.05s37
Lif0.04s00.03s290.03s00.03s140.04s32
Anc0.17s00.06s440.05s00.06s130.06s48
Har0.33s00.19s710.18s00.19s150.19s94
Laz0.05s00.04s130.04s00.04s30.04s17
MS0.09s00.05s150.05s00.05s30.05s42
MS20.02s00.02s120.02s00.02s30.02s18
CQs0.13s00.12s00.18s00.18s00.12s2
debian
memcached38.19s180.54s1240.51s380.51s4170.53s173
blktrace10.55s00.11s480.07s310.06s1400.08s162
clamsmtp100.79s00.34s00.06s40.05s100.06s2
dnshistory39.60s80.25s2110.14s40.14s3670.18s70
duma0.04s00.04s20.04s130.04s380.04s1
lf tiltdemo73.74s00.43s120.09s40.09s260.09s11
lf regtest98.41s00.55s160.10s40.09s280.09s11
ghostess175.29s00.62s590.29s40.29s2480.41s678
lingot5.65s00.25s120.21s40.20s680.23s89
proxsmtp211.46s00.45s00.07s40.06s100.06s5
ptunnel115.38s60.34s4520.09s40.09s1110.24s626
see60.30s110.60s2680.30s40.29s2900.36s33
timemachine0.62s10.10s150.08s110.08s1580.10s35
weborf230.21s160.61s00.17s40.16s140.18s39

This document was translated from LATEX by HEVEA.