Exploiting Transition Locality in Automatic Verification

  • Enrico Tronci
  • Giuseppe Della Penna
  • Benedetto Intrigila
  • Marisa Venturini Zilli
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2144)

Abstract

In this paper we present an algorithm to contrast state explosion when using Explicit State Space Exploration to verify protocols. We show experimentally that protocols exhibit transition locality.

We present a verification algorithm that exploits transition locality as well as an implementation of it within the Murϕ verifier.

Our algorithm is compatible with all Breadth First (BF) optimization techniques present in the Murϕ verifier and it is by no means a substitute for any of them. In fact, since our algorithm trades space with time, it is typically most useful when one runs out of memory and has already used all other state reduction techniques present in the Murϕ verifier.

Our experimental results show that using our approach we can typically save more than 40% of RAM with an average time penalty of about 50% when using (Murϕ) bit compression and 100% when using bit compression and hash compaction.

References

  1. [1]
    R. Bryant. Graph-based algorithms for boolean function manipulation. IEEE Trans. on Computers, C-35(8), Aug 1986.Google Scholar
  2. [2]
    J. R. Burch, E. M. Clarke, K. L. McMillan, D. L. Dill, and L. J. Hwang. Symbolic model checking: 1020 states and beyond. Information and Computation, (98), 1992.Google Scholar
  3. [3]
    D. L. Dill, A. J. Drexler, A. J. Hu, and C. H. Yang. Protocol verification as a hardware design aid. In IEEE International Conference on Computer Design: VLSI in Computers and Processors, pages 522–5, 1992.Google Scholar
  4. [4]
    G. J. Holzmann. The spin model checker. IEEE Trans. on Software Engineering, 23(5):279–295, May 1997.Google Scholar
  5. [5]
    G. J. Holzmann. An analysis of bitstate hashing. Formal Methods in Systems Design, 1998.Google Scholar
  6. [6]
    A. J. Hu, G. York, and D. L. Dill. New techniques for efficient verification with implicitily conjoined bdds. In 31st IEEE Design Automation Conference, pages 276–282, 1994.Google Scholar
  7. [7]
    C. N. Ip and D. L. Dill. Better verification through symmetry. In 11th International Conference on Computer Hardware Description Languages and their Applications, pages 97–111, 1993.Google Scholar
  8. [8]
    C. N. Ip and D. L. Dill. Efficient verification of symmetric concurrent systems. In IEEE International Conference on Computer Design: VLSI in Computers and Processors, pages 230–234, 1993.Google Scholar
  9. [9]
    Heh-Tyan Liaw and Chen-Shang Lin. On the obdd-representation of general boolean functions. IEEE Trans. on Computers, C-41(6), June 1992.Google Scholar
  10. [10]
  11. [11]
    A. Papoulis. Probability, Random Variables and Stochastic Processes. McGraw-Hill Series in System Sciences, 1965.Google Scholar
  12. [12]
    D. A. Patterson and J. L. Hennessy. Computer Architecture A Quantitative Approach. Morgan Kaufmann, 1996.Google Scholar
  13. [13]
    R. K. Ranjan, J. V. Sanghavi, R. K. Brayton, and A. Sangiovanni-Vincentelli. Binary decision diagrams on network of workstations. In IEEE International Conference on Computer Design, pages 358–364, 1996.Google Scholar
  14. [14]
    J. V. Sanghavi, R. K. Ranjan, R. K. Brayton, and A. Sangiovanni-Vincentelli. High performance bdd package by exploiting memory hierarchy. In 33rd IEEE Design Automation Conference, 1996.Google Scholar
  15. [15]
  16. [16]
    U. Stern and D. Dill. Parallelizing the murϕ verifier. In Proc. 9th Int. Conference on Computer Aided Verification, volume 1254, pages 256–267, Haifa, Israel, 1997. LNCS, Springer.Google Scholar
  17. [17]
    U. Stern and D. Dill. Using magnetic disk instead of main memory in the murϕ verifier. In Proc. 10th Int. Conference on Computer Aided Verification, volume 1427, pages 172–183, Vancouver, BC, Canada, 1998. LNCS, Springer.CrossRefGoogle Scholar
  18. [18]
    U. Stern and D. L. Dill. Improved probabilistic verification by hash compaction. In IFIP WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods, pages 206–224, 1995.Google Scholar
  19. [19]
    U. Stern and D. L. Dill. 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, 1996.Google Scholar
  20. [20]
  21. [21]
    T. Stornetta and F. Brewer. Implementation of an efficient parallel bdd package. In 33rd IEEE Design Automation Conference, pages 641–644, 1996.Google Scholar
  22. [22]
    Pierre Wolper and Dennis Leroy. Reliable hashing without collision detection. In Proc. 5th Int. Conference on Computer Aided Verification, pages 59–70, Elounda, Greece, 1993.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Enrico Tronci
    • 1
  • Giuseppe Della Penna
    • 1
  • Benedetto Intrigila
    • 1
  • Marisa Venturini Zilli
    • 2
  1. 1.Area InformaticaUniversitá di L’AquilaL’AquilaItaly
  2. 2.Dip. di Scienze dell’InformazioneUniversitá di Roma “La Sapienza”RomaItaly

Personalised recommendations