Skip to main content

Bloom Filters in Probabilistic Verification

  • Conference paper
Formal Methods in Computer-Aided Design (FMCAD 2004)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3312))

Included in the following conference series:

Abstract

Probabilistic techniques for verification of finite-state transition systems offer huge memory savings over deterministic techniques. The two leading probabilistic schemes are hash compaction and the bitstate method, which stores states in a Bloom filter. Bloom filters have been criticized for being slow, inaccurate, and memory-inefficient, but in this paper, we show how to obtain Bloom filters that are simultaneously fast, accurate, memory-efficient, scalable, and flexible. The idea is that we can introduce large dependences among the hash functions of a Bloom filter with almost no observable effect on accuracy, and because computation of independent hash functions was the dominant computational cost of accurate Bloom filters and model checkers based on them, our savings are tremendous. We present a mathematical analysis of Bloom filters in verification in unprecedented detail, which enables us to give a fresh comparison between hash compaction and Bloom filters. Finally, we validate our work and analyses with extensive testing using 3SPIN, a model checker we developed by extending SPIN.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bloom, B.H.: Space/time trade-offs in hash coding with allowable errors. Communications of the ACM 13(7), 422–426 (1970)

    Article  MATH  Google Scholar 

  2. Broder, A., Mitzenmacher, M.: Network applications of Bloom filters: A survey. In: Proc. of the 40th Annual Allerton Conference on Communication, Control, and Computing, pp. 636–646 (2002)

    Google Scholar 

  3. Ip, C.N., Dill, D.L.: Better verification through symmetry. In: Computer Hardware Description Languages and their Applications, Ottawa, Canada, pp. 87–100. Elsevier Science Publishers B.V, Amsterdam (1993)

    Google Scholar 

  4. Cormen, T.H., Stein, C., Rivest, R.L., Leiserson, C.E.: Introduction to Algorithms. McGraw-Hill Higher Education, New York (2001)

    MATH  Google Scholar 

  5. Dillinger, P.C., Manolios, P.: Fast and accurate bitstate verification for SPIN. In: 11th SPIN Workshop, Barcelona, Spain (April 2004)

    Google Scholar 

  6. Clarke, E.M., Filkorn, T., Jha, S.: Exploiting symmetry in temporal logic model checking. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 450–461. Springer, Heidelberg (1993)

    Google Scholar 

  7. Emerson, F.A., Sistla, A.P.: Symmetry and model checking. Formal Methods in System Design: An International Journal 9(1/2), 105–131 (1996)

    Article  Google Scholar 

  8. Fan, L., Cao, P., Almeida, J., Broder, A.Z.: Summary cache: a scalable wide-area Web cache sharing protocol. IEEE/ACM Transactions on Networking 8(3), 281–293 (2000)

    Article  Google Scholar 

  9. Godefroid, P., Wolper, P.: A partial approach to model checking. In: Logic in Computer Science, pp. 406–415 (1991)

    Google Scholar 

  10. Gonnet, G.H.: Handbook of Algorithms and Data Structures. Addison-Wesley, Reading (1984)

    MATH  Google Scholar 

  11. Holzmann, G., Peled, D.: Partial order reduction of the state space. In: First SPIN Workshop, Montr‘eal, Quebec (1995)

    Google Scholar 

  12. Holzmann, G.J.: Design and Validation of Computer Protocols. Prentice-Hall, Englewood Cliffs (1991)

    Google Scholar 

  13. Holzmann, G.J.: An analysis of bitstate hashing. In: Proc. 15th Int. Conf on Protocol Specification, Testing, and Verification, INWG/IFIP, Warsaw, Poland, pp. 301–314. Chapman and Hall, Boca Raton (1995)

    Google Scholar 

  14. Holzmann, G.J.: The Spin Model Checker: Primer and Reference Manual. Addison-Wesley, Boston (2003)

    Google Scholar 

  15. Knuth, D.E.: The Art of Computer Programming, Sorting and Searching, 2nd edn., vol. 3. Addison Wesley Longman Publishing Co., Inc, Amsterdam (1997)

    Google Scholar 

  16. Mitzenmacher, M.: Compressed Bloom filters. In: Proc. of the 20th Annual ACM Symposium on Principles of Distributed Computing, IEEE/ACM Trans. on Net., pp. 144–150 (2001)

    Google Scholar 

  17. Penna, G., Intrigila, B., Tronci, E., Zilli, M.: Exploiting transition locality in the disk based Murphi verifier. In: 4th International Conference on Formal Methods in Computer Aided Verification, pp. 202–219 (2002)

    Google Scholar 

  18. Stern, U., Dill, D.L.: Improved probabilistic verification by hash compaction. In: Camurati, P.E., Eveking, H. (eds.) CHARME 1995. LNCS, vol. 987, pp. 206–224. Springer, Heidelberg (1995)

    Google Scholar 

  19. Stern, U., Dill, D.L.: A new scheme for memory-efficient probabilistic verification. In: IFIP TC6/WG6.1 Joint International Conference on Formal Description Techniques for Distributed Systems and Communication Protocols, and Protocol Specification, Testing, and Verification, pp. 333–348, Kaiserslautern Germany, October 8-11 (1996)

    Google Scholar 

  20. Visser, W., Havelund, K., Brat, G., Park, S.: Model checking programs. In: International Conference on Automated Software Engineering (September 2000)

    Google Scholar 

  21. Wolper, P., Leroy, D.: Reliable hashing without collision detection. In: 5th International Conference on Computer Aided Verification, pp. 59–70 (1993)

    Google Scholar 

  22. Wolper, P., Stern, U., Leroy, D., Dill, D.: Reliable probabilistic verification using hash compaction, Unpublished

    Google Scholar 

  23. Yu, Y., Manolios, P., Lamport, L.: Model checking TLA+ specifications. In: Pierre, L., Kropf, T. (eds.) CHARME 1999. LNCS, vol. 1703, pp. 54–66. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dillinger, P.C., Manolios, P. (2004). Bloom Filters in Probabilistic Verification. In: Hu, A.J., Martin, A.K. (eds) Formal Methods in Computer-Aided Design. FMCAD 2004. Lecture Notes in Computer Science, vol 3312. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30494-4_26

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30494-4_26

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-23738-9

  • Online ISBN: 978-3-540-30494-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics