Abstract
This paper focuses on reducing memory usage in enumerative model checking, while maintaining the multi-core scalability obtained in earlier work. We present a multi-core tree-based 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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Blom, S.C.C., Lisser, B., van de Pol, J.C., Weber, M.: A database approach to distributed state space generation. In: Sixth International Workshop on Parallel and Distributed Methods in Verification, PDMC, pp. 17–32, CTIT, Enschede (2007)
Blom, S.C.C., van de Pol, J.C., Weber, M.: Bridging the gap between enumerative and symbolic model checkers. Technical Report TR-CTIT-09-30, University of Twente, Enschede (June 2009)
Blom, S., van de Pol, J., Weber, M.: LTSmin: distributed and symbolic reachability. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 354–359. Springer, Heidelberg (2010)
Blom, S.C.C., van Langevelde, I., Lisser, B.: Compressed and distributed file formats for labeled transition systems. Electronic Notes in Theoretical Computer Science 89(1), 68–83 (2003) ; PDMC 2003, Parallel and Distributed Model Checking (Satellite Workshop of CAV 2003)
Bryant, R.E.: Symbolic boolean manipulation with ordered binary-decision diagrams. ACM Comput. Surv. 24(3), 293–318 (1992)
Cleary, J.G.: Compact hash tables using bidirectional linear probing. IEEE Transactions on Computers 33, 828–834 (1984)
Cover, T.M., Thomas, J.A.: Elements of Information Theory, 99th edn. Wiley-Interscience, New York (1991)
Evangelista, S., Pradat-Peyre, J.-F.: Memory efficient state space storage in explicit software model checking. In: Godefroid, P. (ed.) Model Checking Software. LNCS, vol. 3639, pp. 43–57. Springer, Heidelberg (2005)
Geldenhuys, J., de Villiers, P.: Runtime efficient state compaction in SPIN. In: Dams, D.R., Gerth, R., Leue, S., Massink, M. (eds.) SPIN 1999. LNCS, vol. 1680, p. 12. Springer, Heidelberg (1999)
Geldenhuys, J., Valmari, A.: A nearly memory-optimal data structure for sets and mappings. In: Ball, T., Rajamani, S.K. (eds.) SPIN 2003. LNCS, vol. 2648, pp. 136–150. Springer, Heidelberg (2003)
Holzmann, G.J.: State compression in SPIN: Recursive indexing and compression training runs. In: Proc. of the Third International SPIN Workshop (1997)
Holzmann, G.J., Godefroid, P., Pirottin, D.: Coverage preserving reduction strategies for reachability analysis. In: Proceedings of the IFIP TC6/WG6.1 Twelth International Symposium on Protocol Specification, Testing and Verification XII, pp. 349–363. North-Holland Publishing, Amsterdam (1992)
Laarman, A.W.: LTSmin benchmark results (2011) , http://fmt.cs.utwente.nl/tools/ltsmin/spin-2011/ (last accessed: January 24, 2011)
Laarman, A.W., van de Pol, J.C., Weber, M.: Boosting multi-core reachability performance with shared hash tables. In: Sharygina, N., Bloem, R. (eds.) Proceedings of the 10th International Conference on Formal Methods in Computer-Aided Design. IEEE Computer Society, USA (2010)
Laarman, A., van de Pol, J., Weber, M.: Multi-core lTSmin: Marrying modularity and scalability. In: Bobaru, M., Havelund, K., Holzmann, G.J., Joshi, R. (eds.) NFM 2011. LNCS, vol. 6617, pp. 506–511. Springer, Heidelberg (2011)
Laarman, A.W., van de Pol, J.C., Weber, M.: Parallel recursive state compression for free. In: CoRR, abs/1104.3119 (2011)
Larsen, K., Larsson, F., Pettersson, P., Yi, W.: Efficient verification of real-time systems: Compact data structure and state–space reduction. In: Proc. of the 18th IEEE Real-Time Systems Symposium, pp. 14–24. IEEE Computer Society Press, Los Alamitos (1997)
Palének, R.: The BEEM website (2011), http://anna.fi.muni.cz/models/cgi/models.cgi (last accessed: January 24,2011)
Pelánek, R.: BEEM: Benchmarks for explicit model checkers. In: Bošnački, D., Edelkamp, S. (eds.) SPIN 2007. LNCS, vol. 4595, pp. 263–267. Springer, Heidelberg (2007)
Sanders, P.: Lastverteilungsalgorithmen fur parallele tiefensuche. In: Fortschrittsberichte, Reihe 10. VDI, vol. 463. Verlag, Berlin (1997)
Weber, M.: The LTSmin website (2011), http://fmt.cs.utwente.nl/tools/ltsmin/ (last accessed:January 24, 2011)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Laarman, A., van de Pol, J., Weber, M. (2011). Parallel Recursive State Compression for Free. In: Groce, A., Musuvathi, M. (eds) Model Checking Software. SPIN 2011. Lecture Notes in Computer Science, vol 6823. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-22306-8_4
Download citation
DOI: https://doi.org/10.1007/978-3-642-22306-8_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-22305-1
Online ISBN: 978-3-642-22306-8
eBook Packages: Computer ScienceComputer Science (R0)