This paper aims at making partial-order reduction independent of the modeling language. Our starting point is the stubborn set algorithm of Valmari (see also Godefroid's thesis), which relies on necessary enabling sets. We generalise it to a guard-based algorithm, which can be implemented on top of an abstract model checking interface.
We extend the generalised algorithm by introducing necessary disabling sets and adding a heuristics to improve state space reduction. The effect of the changes to the algorithm are measured using an implementation in the LTSmin model checking toolset. We experiment with partial-order reduction on a number of Promela models, some with LTL properties, and on benchmarks from the BEEM database in the DVE language.
We compare our results to the SPIN model checker. While the reductions take longer, they are consistently better than SPIN's ample set and even often surpass the ideal upper bound for the ample set, as established empirically by Geldenhuys, Hansen~and~Valmari on BEEM models.
|Lecture Notes in Computer Science
|20th International SPIN Symposium on Model Checking of Software, SPIN 2013
|8/07/13 → 9/07/13
|8-9 July 2013
- FMT-MC: MODEL CHECKING
- necessary disabling sets
- necessary enabling sets
- Partial order reduction
- Stubborn set
- optimal reductions
- Ample set
- Model Checking