Parallel Recursive State Compression for Free

  • Alfons Laarman
  • Jaco van de Pol
  • Michael Weber
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6823)


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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    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)Google Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    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)CrossRefGoogle Scholar
  4. 4.
    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)CrossRefGoogle Scholar
  5. 5.
    Bryant, R.E.: Symbolic boolean manipulation with ordered binary-decision diagrams. ACM Comput. Surv. 24(3), 293–318 (1992)CrossRefGoogle Scholar
  6. 6.
    Cleary, J.G.: Compact hash tables using bidirectional linear probing. IEEE Transactions on Computers 33, 828–834 (1984)CrossRefMATHGoogle Scholar
  7. 7.
    Cover, T.M., Thomas, J.A.: Elements of Information Theory, 99th edn. Wiley-Interscience, New York (1991)CrossRefMATHGoogle Scholar
  8. 8.
    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)CrossRefGoogle Scholar
  9. 9.
    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)CrossRefGoogle Scholar
  10. 10.
    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)CrossRefGoogle Scholar
  11. 11.
    Holzmann, G.J.: State compression in SPIN: Recursive indexing and compression training runs. In: Proc. of the Third International SPIN Workshop (1997)Google Scholar
  12. 12.
    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)CrossRefGoogle Scholar
  13. 13.
    Laarman, A.W.: LTSmin benchmark results (2011) , (last accessed: January 24, 2011)
  14. 14.
    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)Google Scholar
  15. 15.
    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)CrossRefGoogle Scholar
  16. 16.
    Laarman, A.W., van de Pol, J.C., Weber, M.: Parallel recursive state compression for free. In: CoRR, abs/1104.3119 (2011)Google Scholar
  17. 17.
    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)Google Scholar
  18. 18.
    Palének, R.: The BEEM website (2011), (last accessed: January 24,2011)
  19. 19.
    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)CrossRefGoogle Scholar
  20. 20.
    Sanders, P.: Lastverteilungsalgorithmen fur parallele tiefensuche. In: Fortschrittsberichte, Reihe 10. VDI, vol. 463. Verlag, Berlin (1997)Google Scholar
  21. 21.
    Weber, M.: The LTSmin website (2011), (last accessed:January 24, 2011)

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Alfons Laarman
    • 1
  • Jaco van de Pol
    • 1
  • Michael Weber
    • 1
  1. 1.Formal Methods and ToolsUniversity of TwenteThe Netherlands

Personalised recommendations