Supplementary Materials for Advanced Ramsey-based Buchi Automata Inclusion Testing

This is a supplementary page for the experiment in Advanced Ramsey-based Buchi Automata Inclusion Testing. In the page, you can find the following:

Maintained by: Yu-Fang Chen



THE EXECUTABLE FILES AND SOURCE CODE

The program is implemented in Java and compiled for environment compatible with Sun's JRE with version ≥ 1.6. It has been tested on OpenJDK 64-Bit Server VM and Java HotSpot(TM) 64-Bit Server VM. The source code is available here.
We use the getCurrentThreadCpuTime method to get the CPU time. On some JVMs such like gij (GNU libgcj) does not support this function. For these case, our programs, while they will give the correct answer if the computation ever stops, will not give the correct computation time.

Usage:

        java -jar CheckingInclusion_SimulationSubsumption.jar Aut1_file Aut2_file [-h -q -qr -c -l -rd -DFS -SFS -fplus -b -d -v]

        -h: print help page
        -q: do quotienting w.r.t. forward simulation
        -qr: do fw/bw quotienting repeatedly until a fixed point is reached
        -c: use forward simulation between A and B
        -l: use layered arc sets
        -rd: remove dead states
        -DFS: use DFS searching strategy (default: BFS strategy)
        -SFS: use smallest-first searching strategy (default: BFS strategy)
        -fplus: use one-step-further forward simulation
        -b: use backward simulation
        -d: debug mode
        -v: verbose mode
        For best performance we recommend options -q -b -rd -fplus -SFS -qr -c -l

	
The program will test if L(Aut1) ⊆ L(Aut2), where Aut1 and Aut2 are two Buchi automata described by BA files.

Example:

	java -jar CheckingInclusion_SimulationSubsumption.jar peterson.1.ba peterson.1.1.ba -q -rd -fplus -l

	Program output:
        Ver. 1.10, Test if L(A) <= L(B)
        Aut A: # of Trans. 33, # of States 20.
        Aut B: # of Trans. 33, # of States 20.
        Aut A (dead states removed): # of Trans. 29, # of States 18.
        Aut B (dead states removed): # of Trans. 29, # of States 18.
        Included
        Metagraphs added to the Next set 348
        Time for the Simulation Subsumption algorithm(ms): 1232.
	

BUCHI AUTOMATA MODELS AND THE LOG FILES

The automata we used in the first experiment (from real models) are listed below. They are obtained by the following steps:

  • Get models of mutual exclusion protocols from the BEEM database. Each DVE model is essentially a set of guarded commands.
  • We may inject (artificial) errors to the DVE models by randomly weaken or strengthen the guards of some commands to obtain some incorrect versions of the protocols.
  • Translate the DVE models into Buchi automata. A detail description of how we translate a DVE file to a Buchi automaton can be found here.
In the experiments, we allowed a program to use at most 4GB memory.

Forward Simulation Holds Between Initial States

Model Automata Log Files Model Automata Log Files Model Automata Log Files
Peterson Aut A
Aut B
Algorithm of [1]
default
-b
-b -qr
-b -qr -c
-b -qr -c -DFS
Phils Aut A
Aut B
Algorithm of [1]
default
-b
-b -qr
-b -qr -c
-b -qr -c -DFS
Mcs Aut A
Aut B
Algorithm of [1]
default
-b
-b -qr
-b -qr -c
-b -qr -c -DFS
Bakery Aut A
Aut B
Algorithm of [1]
default
-b
-b -qr
-b -qr -c
-b -qr -c -DFS
Fischer Aut A
Aut B
Algorithm of [1]
default
-b
-b -qr
-b -qr -c
-b -qr -c -DFS
FischerV2 Aut A
Aut B
Algorithm of [1]
default
-b
-b -qr
-b -qr -c
-b -qr -c -DFS

Inclusion Holds, but Forward Simulation Does Not Hold Between Initial States

Model Automata Log Files Model Automata Log Files Model Automata Log Files
FischerV3 Aut A
Aut B
Algorithm of [1]
default
-b
-b -qr
-b -qr -c
-b -qr -c -DFS
FischerV4 Aut A
Aut B
Algorithm of [1]
default
-b
-b -qr
-b -qr -c
-b -qr -c -DFS
BakeryV2 Aut A
Aut B
Algorithm of [1]
default
-b
-b -qr
-b -qr -c
-b -qr -c -DFS

Inclusion Does Not Hold

Model Automata Log Files Model Automata Log Files Model Automata Log Files
BakeryV3 Aut A
Aut B
Algorithm of [1]
default
-b
-b -qr
-b -qr -c
-b -qr -c -DFS
FischerV5 Aut A
Aut B
Algorithm of [1]
default
-b
-b -qr
-b -qr -c
-b -qr -c -DFS
PhilsV2 Aut A
Aut B
Algorithm of [1]
default
-b
-b -qr
-b -qr -c
-b -qr -c -DFS
PhilsV3 Aut A
Aut B
Algorithm of [1]
default
-b
-b -qr
-b -qr -c
-b -qr -c -DFS
PhilsV4 Aut A
Aut B
Algorithm of [1]
default
-b
-b -qr
-b -qr -c
-b -qr -c -DFS

The log files and the automata of the second experiment (Tabakov-Vardi Random Model) are listed below.

Tabakov-Vardi Model

Configuration Automata Log Files Configuration Automata Log Files Configuration Automata Log Files
Size 15
Ad 0.1-1.0
Td= 1.5, 2.0, 2.5,3.0
Zip Algorithm of [1]
-b -qr -c
Size 30
Ad 0.1
Td= 2.0
Zip Algorithm of [1]
-b -qr -c
Size 50
Ad 0.6
Td= 3.0
Zip Algorithm of [1]
-b -qr -c

REFERENCES

  1. Parosh Aziz Abdulla, Yu-Fang Chen, Lorenzo Clemente, Lukas Holik, Chih-Duo Hong, Richard Mayr, Tomas Vojnar: Simulation Subsumption in Ramsey-Based Buchi Automata Universality and Inclusion Testing, CAV 2010.
  2. R Pelanek : BEEM: BEnchmarks for Explicit Model checkers (February 2007), http://anna.fi.muni.cz/models/index.html
  3. DiVinE - Distributed Verification Environment, Masaryk University Brno, http://anna.fi.muni.cz/divine-mc/
  4. D Tabakov, MY Vardi : Model Checking Buchi Specifications, LATA, 2007.