Experimental Data


Comparative Performance of XMC (with and without compilation) and Murphi

Table 1-1: the i-protocol
Program Time (second) Space (MB)
Compile Verify Total
ws=1 buggy XMC0.170.981.156.18
Compiled0.220.050.270.52
Murphi4.745.5610.300.30
ws=2 buggy XMC0.171.301.477.88
Compiled0.220.310.530.78
Murphi4.79122.24127.035.58
ws=1 fixed XMC0.1799.7299.89388.85
Compiled0.2212.8213.0418.31
Murphi4.7523.8328.581.61
ws=2 fixed XMC0.17out of memory
Compiled0.22214.36214.58198.06
Murphi4.88461.22466.1026.71

Table 1-2: the RETHER protocol
Program Time (second) Space (MB)
Compile Verify Total
retherA XMC0.070.190.260.78
Compiled0.150.220.370.58
Murphi6.720.427.140.03
retherB XMC0.070.380.450.87
Compiled0.150.470.620.64
Murphi6.721.359.070.10

Table 1-3: sieve with property ae_finish
Program Time (second) Space (MB)
Compile Verify Total
sieve3 XMC0.091.541.636.07
Compiled0.110.190.301.07
Murphi4.210.454.660.02
sieve4 XMC0.094.414.5016.61
Compiled0.110.400.512.49
Murphi4.181.135.310.05
sieve5 XMC0.0915.5715.6655.07
Compiled0.111.201.317.42
Murphi4.244.058.290.17
sieve6 XMC0.0968.6768.76227.53
Compiled0.115.025.1328.35
Murphi4.3318.5122.840.67
sieve7 XMC0.09130.12130.21437.88
Compiled0.118.718.8261.32
Murphi4.3532.1236.471.03

Table 1-4: sieve with property ee_fail
Program Time (second) Space (MB)
Compile Verify Total
sieve3 XMC0.091.041.131.11
Compiled0.110.110.220.59
Murphi3.280.143.420.01
sieve4 XMC0.093.123.212.39
Compiled0.110.310.420.85
Murphi3.300.373.670.02
sieve5 XMC0.0911.5211.926.58
Compiled0.110.991.101.63
Murphi3.321.134.440.08
sieve6 XMC0.0952.2252.3124.00
Compiled0.114.224.334.63
Murphi3.365.418.770.35
sieve7 XMC0.09101.21101.3037.20
Compiled0.117.507.618.28
Murphi3.379.5112.880.53

Table 1-5: leader with property ae_leader
Program Time (second) Space (MB)
Compile Verify Total
leader3 XMC0.110.120.230.84
Compiled0.130.030.160.48
Murphi4.210.154.360.01
leader4 XMC0.110.670.782.81
Compiled0.140.120.260.88
Murphi4.340.695.030.02
leader5 XMC0.113.413.5212.73
Compiled0.140.600.742.64
Murphi4.424.699.110.10
leader6 XMC0.1117.0817.1960.82
Compiled0.162.712.8710.74
Murphi4.5229.5134.030.52
leader7 XMC0.1183.0883.19287.97
Compiled0.1712.4212.5947.80
Murphi4.50184.06184.562.41

Table 1-6: leader with property one_leader
Program Time (second) Space (MB)
Compile Verify Total
leader3 XMC0.110.130.240.85
Compiled0.140.040.180.47
Murphi3.280.053.330.01
leader4 XMC0.110.590.702.97
Compiled0.140.120.260.83
Murphi3.410.233.640.01
leader5 XMC0.112.822.9313.27
Compiled0.150.590.742.44
Murphi3.531.525.050.06
leader6 XMC0.1114.1814.2962.71
Compiled0.162.903.069.94
Murphi3.518.9812.490.37
leader7 XMC0.1168.6668.77294.47
Compiled0.1712.9013.0744.56
Murphi3.6458.5664.201.87

NOTE:

  1. CPU time is used.
  2. Compilation time for the original XMC is the time needed to preprocess and load an XL specification; for XMC with compilation, it is the time needed to compile XL specifications into rules and load the rules; for Murphi it is the time needed to generate C++ code from Murphi specification and compile it using g++.
  3. For the i-protocol and rether, both versions of XMC compiled only once for all the configurations.
  4. Space for Murphi represents only the estimated minimum hash table size. Auxiliary space usage is assumed to be small. Actual space usage is larger.


Table 2: Size of Compiled Programs
Program processes local transitions global transitions
sieve351319
sieve461323
sieve571327
sieve681331
sieve791335
leader361536
leader481548
leader5101560
leader6121572
leader7141584
rether520376
iproto45359


Back to the paper