Laarman, A.W. and van de Pol, J.C. and Weber, Michael
Parallel Recursive State Compression for Free.
In: Proceedings of the 18th International SPIN Workshop, SPIN 2011, 14-15 Jul 2011, Snow Bird, Utah.
Lecture Notes in Computer Science 6823.
Full text available as:
Official URL: http://dx.doi.org/10.1007/978-3-642-22306-8_4
State space exploration is a basic solution to many verification problems, but is limited by time and memory usage. Due to physical limits in modern CPUs, sequential exploration algorithms do not benefit automatically from the next generation of processors anymore, hence the need for multi-core solutions.
This paper focuses on reducing memory usage in enumerative model checking, while maintaining the multi-core scalability obtained in earlier work. We present a tree-based multi-core compression method, which works by leveraging sharing among sub-vectors of state vectors.
An algorithmic analysis of both worst-case and optimal compression ratios shows the potential to compress even large states to a small constant on average (8 bytes). Our experiments demonstrate that this holds up in practice: the median compression ratio of 279 measured experiments is within 17% of the optimum for tree compression, and five times better than the median compression ratio of SPIN's COLLAPSE compression.
Our algorithms are implemented in the LTSmin tool, and our experiments show that for model checking, multi-core tree compression pays its own way: it comes virtually without overhead compared to the fastest hash table-based methods.
|Item Type:||Conference or Workshop Paper (Full Paper, Talk)|
|Research Group:||EWI-FMT: Formal Methods and Tools|
|Research Program:||CTIT-DSN: Dependable Systems and Networks|
|Research Project:||CEDICT: 3TU Center of Excellence for ICT|
|Uncontrolled Keywords:||model checking, parallel, multi-core, state space compression, tree-based algorithm, incremental algorithm|
|Deposited On:||11 May 2011|
Export this item as:
To correct this item please ask your editor
Repository Staff Only: edit this item