Artifact for "Partial Order Reduction for Reachability Games"

  • Frederik Meyer Bønneland (Ophavsperson)
  • Peter Gjøl Jensen (Ophavsperson)
  • Kim Guldstrand Larsen (Ophavsperson)
  • Marco Mũniz (Ophavsperson)
  • Jiri Srba (Ophavsperson)

Datasæt

Beskrivelse

An updated artifact for the paper "Partial Order Reduction for Reachability Games", accepted at CONCUR'19 with the corrections, models and modifications added for the later LMCS journal version. The source-code for the engine is found in the "verifypn-games.zip" file while the experiments and scripts to execute those are found in "reproducability.zip". Code The implementation reuses the general framework of partial order reduction applied in https://doi.org/10.1016/j.jlamp.2018.09.002 The core reduction algorithm is implemented in a (semantically equivalent and) efficient manner in  PetriEngine/ReducingSuccessorGenerator.cpp Here the "prepare"-method implements the equivalent of the "St"-function of the paper (Algorithm 2), the "closure"-method implements the "Saturate"-function (Algorithm 3). Repeatability The repeatability-package is only available on Linux. To run the experiments as per the paper, run: ./run_POR.sh games-260 ; ./run_NPOR.sh games-260 Outputs will be generated in the "outputs" folder, and a Tex-table can be outputted by ./extract.sh games-260 Notice that we have pre-populated the outputs-folder with the results reported in the paper. The execution-scripts will NOT overwrite existing output files, and thus the outputs folder should be purged prior to a re-run of the experiments. To use a different executor (for instance sbatch on a slurm-enabled cluster for concurrent execution of the experiments), the run-commands can be prefixed as such: EXECUTOR=sbatch ./run_POR.sh games-260 The included binary is revision 260 of https://code.launchpad.net/~verifypn-cpn/verifypn/verifypn-games To limit the memory-consumption of each experiment, modify "run.sh" and change the "ulimit" memory-bound to the desired value. A "timeout"-command can also be added here to introduce a time-limit of the execution (we utilize slurm for this purpose). Notice that we measure and report the computation time excluding parsing; i.e. we report the fix-point computation-time as computed by the engine directly. Changes Since the conference version (https://doi.org/10.5281/zenodo.3252104), the following changes have been made. Models:  - FMS-{D,C,N} have been added  - Unneeded files have been removed Data Collection  - Fixed collection of measures Engine (r.260, originally r.247):  - Fixed uninitialized variable, leading to non-deterministic heuristic of stubborn set  - Removed redundant cycle-detection  - Fixed output of measures to correspond with normal interpretation (Stored markings are now reported and collected)  - Fixed wrong assignment in dependency-graph  - Added patch for theoretical issue with POR-reduction The prepopulated results have been recomputed since https://zenodo.org/record/3574262 as the original prepopulated results were conducted, in few and isolated experiments, on different models than those included in the package.
Dato for tilgængelighed2020
ForlagZenodo

Citationsformater