Verification of Consistency Protocols Via Infinite-State Symbolic Model Checking

A Case Study: the IEEE Futurebus+ Protocol
  • Giorgio Delzanno
Part of the IFIP — The International Federation for Information Processing book series (IFIPAICT, volume 55)


We apply infinite-state model checking to verify safety properties of a parameterized formulation of the IEEE Futurebus+ coherence protocol modeled at the behavior level in a system with split transaction. This case-study shows that verification techniques previously applied to hybrid and real-time systems can be used as tools for validating parameterized protocols. This technology transfer is achieved by combining abstraction techniques, symbolic representation via constraints, efficient operations based on real arithmetics, and reachability algorithms. To our knowledge this is the first time that safety properties for a parameterized version of the Futurebus+ protocol has been automatically verified.


Parameterized Consistency Protocols Symbolic Model Checking 


  1. [1]
    P. A. Abdulla, A. Bouajjani, B. Jonsson, and M. Nilsson. Handling Global Conditions in Parameterized System Verification. In Proc. CAV ‘89, LNCS 1633, pages 134–145, 1999.Google Scholar
  2. [2]
    P. A. Abdulla, K. Cerâns, B. Jonsson and Y.-K. Tsay. General Decidability Theorems for Infinite-State Systems. In Proc. LICS ‘86, pages 313–321, 1996.Google Scholar
  3. [3]
    T. Bultan, R. Gerber, and W. Pugh. Symbolic Model Checking of Infinite-state Systems using Presburger Arithmetics. In Proc. CAV ‘87, LNCS 1254, pages 400–411, 1997.Google Scholar
  4. [4]
    M. C. Browne, E. M. Clarke, and O. Grumberg. Reasoning about Networks with Many Identical Finite State Processes. Information and Computation 81 (1): 13–31, 1989.MathSciNetCrossRefMATHGoogle Scholar
  5. [5]
    K.-T. Cheng and A. S. Krishnakumar. Automatic Generation of Functional Vectors Using the Extended Finite State Machine Model. ACM Transactions on Design Automation of Electronic Systems 1 (1): 57–79, 1996.CrossRefGoogle Scholar
  6. [6]
    E.M. Clarke, O. Grumberg, H. Hiraishi, S. Jha, D.E. Long, K.L. McMillan, and L.A. Ness. Verification of the Futurebus+ Cache Coherence Protocol. In Proc. 11th Int. Symp. on Computer Hardware Description Languages and their Applications, 1993.Google Scholar
  7. [7]
    E. Clarke, O. Grumberg, and S. Jha. Verifying Parameterized Networks. TOPLAS 19 (5): 726–750 (1997).CrossRefGoogle Scholar
  8. [8]
    P. Cousot and N. Halbwachs. Automatic Discovery of Linear Restraints among Variables of a Program. In Proc. POPL 78, pages 84–96, 1978.Google Scholar
  9. G. Delzanno. Automated Verification of Parameterized Cache Coherence Protocols. To appear in Proc. CAV ‘00,July 2000.Google Scholar
  10. [10]
    G. Delzanno and A. Podelski, Constraint-based Deductive Model Checking in CLP. To appear in Software Tools for Technology Transfer.Google Scholar
  11. [11]
    J. Esparza, A. Finkel, and R. Mayr. On the Verification of Broadcast Protocols. In Proc. LICS ‘89, pages. 352–359, 1999.Google Scholar
  12. [12]
    E. A. Emerson and K. S. Namjoshi. Automatic Verification of Parameterized Synchronous Systems. In Proc. CAV ‘86, LNCS 1102, pages 87–98, 1996.Google Scholar
  13. [13]
    E. A. Emerson and K. S. Namjoshi. On Model Checking for Non-deterministic Infinite-state Systems. In Proc. LICS ‘88, pages 7080, 1998.Google Scholar
  14. [14]
    A. Finkel and P. Schnoebelen. Well-structured transition systems everywhere! Technical Report LSV-98–4, Laboratoire Spécification et Vérification, Ecole Normale Supérieure de Cachan, April 1998.Google Scholar
  15. [15]
    S. M. German and A. P. Sistla. Reasoning about Systems with Many Processes. JACM 39 (3): 675–735 (1992)MathSciNetCrossRefMATHGoogle Scholar
  16. [16]
    S. Graf and H. Saldi. Construction of Abstract State Graphs with PVS. In Proc. CAV ‘87, LNCS 1254, pages 72–83, 1997.Google Scholar
  17. [17]
    J. Handy. The Cache Memory Book. Academic Press, 1993.Google Scholar
  18. [18]
    T. A. Henzinger, P.-H. Ho, and H. Wong-Toi. HYTECH: a Model Checker for Hybrid Systems. In Proc. CAV ‘87, LNCS 1254, pages 460–463, 1997.Google Scholar
  19. [19]
    N. Halbwachs, Y-E. Proy, and P. Roumanoff. Verification of Real-time Systems using Linear Relation Analysis. Formal Methods in System Design, 11 (2): 157–185, 1997.CrossRefGoogle Scholar
  20. [20]
    C. Norris-Ip and D. L. Dill. Verifying Systems with Replicated Components in Murphi. Formal Methods in System Design, 14 (3): 273–310, 1999.CrossRefGoogle Scholar
  21. [21]
    D. Lesens, N. Halbwachs, and P. Raymond. Automatic Verification of Parameterized Linear Networks of Processes. In Proc. POPL ‘87, 1997.Google Scholar
  22. [22]
    K. L. McMillan and J. Schwalbe. Formal Verification of the Giga-max Cache Consistency Protocol. In Proc. Int. Symp. on Shared Memory Multiprocessors, pp. 242–51, 1991.Google Scholar
  23. [23]
    F. Pong and M. Dubois. A New Approach for the Verification of Cache Coherence Protocols. IEEE Transactions on Parallel and Distributed Systems 6 (8), August 1995.Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2000

Authors and Affiliations

  • Giorgio Delzanno
    • 1
  1. 1.DISIUniversity of GenovaItaly

Personalised recommendations