Academia.eduAcademia.edu

Outline

Model Checking Reductions to Convenient Computations

Abstract

In many applications, such as database serializability, shared memory sequential consistency, or as part of a layered proof of other properties, it is natural to ask whether every computation of a system can be reduced to one of the particular computations considered convenient due to their perceived regularity. Computations related by the reductions described here differ only in having independent operations occur in a different order. A general framework is presented in which, given a model and additional information including a description of the convenient computations and of the operations' independence, an augmented model using a transducer and temporal logic assertions for it are automatically defined and model checked. In the augmentation, a bounded history queue is added to the state variables, and new transitions are defined that exchange the order of independent operations and identify prefixes of convenient computations. If the model checking proves all the generated assertions, every computation can be reduced to a convenient one. Events can be predicted, and anti-events are used to guarantee that they actually occur. This new technique allows treating many cases of unbounded out-of-order of operations relative to the convenient computations. A prototype implementation based on Cadence SMV is described.

References (22)

  1. R. Alur, R. K. Brayton, T. A. Henzinger, S. Qadeer, and S. K. Raja- mani. Partial-order reduction in symbolic state space exploration. In Com- puter Aided Verification (CAV'97), volume 1254 of LNCS, pages 340-351. Springer-Verlag, 1997.
  2. T. Braun, A. Condon, A. J . Hu, K. S. Juse, M. Laza, M. Leslie, and R. Sharma. Proving sequential consistency by model checking. In Proc. 6th IEEE High Level Design Validation and Test Workshop, (HLDVT'01), pages 103-108, December 2001.
  3. E. M. Clarke, O. Grumberg, and D. Peled. Model Checking. MIT Press, 1999.
  4. D. L. Dill, A. J. Drexler, A. J. Hu, and C. Han Yang. Protocol verification as a hardware design aid. In International Conference on Computer Design, pages 522-525, 1992.
  5. M. Glusman and S. Katz. A mechanized proof environ- ment for the convenient computations proof method. For- mal Methods in System Design. To appear. Available at http://www.cs.technion.ac.il/Labs/ssdl/pub/conv_comp.
  6. M. Glusman and S. Katz. Mechanizing proofs of computation equiva- lence.
  7. In N. Halbwachs and D. Peled, editors, Computer-Aided Verification, (CAV'99), volume 1633 of LNCS, pages 354-367. Springer-Verlag, 1999.
  8. M. Glusman and S. Katz. Extending memory consistency of finite pre- fixes to infinite computations. In K. G. Larsen and M. Nielsen, editors, Proc. 12th Int. Conf. on Concurrency Theory, CONCUR'01, volume 2154 of LNCS, pages 411-425. Springer-Verlag, 2001.
  9. T. A. Henzinger, S. Qadeer, and S. Rajamani. Verifying sequential con- sistency on shared-memory multiprocessor systems. In N. Halbwachs and D. Peled, editors, Computer-Aided Verification, (CAV'99), volume 1633 of LNCS, pages 301-315. Springer-Verlag, 1999.
  10. G. J. Holzmann and D. Peled. The state of SPIN. In Computer Aided Verification (CAV'96), volume 1102 of LNCS, pages 385-389. Springer- Verlag, 1996.
  11. B. Jonsson, A. Pnueli, and C. Rump. Proving refinement using transduc- tion. Distributed Computing, 12:129-149, 1999.
  12. S. Katz. Refinement with global equivalence proofs in temporal logic. In D. Peled, V. Pratt, and G. Holzmann, editors, Partial Order Methods in Verification, volume 29 of DIMACS Series in Discrete Mathematics and Theoretical Computer Science, pages 59-78. American Mathematical Soci- ety, 1997.
  13. S. Katz and D. Peled. Defining conditional independence using collapses. Theoretical Computer Science, 101:337-359, 1992.
  14. S. Katz and D. Peled. Verification of distributed programs using represen- tative interleaving sequences. Distributed Computing, 6:107-120, 1992.
  15. M. Kwiatkowska. Fairness for Non-Interleaving Concurrency. PhD thesis, Dept. of Computing Studies, Leicester, 1989.
  16. Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems -Safety. Springer-Verlag, 1995.
  17. A. Mazurkiewicz. Trace theory. In W. Brauer, W. Reisig, and editors G. Rozenburg, editors, Petri Nets: Applications and Relationships to Other Models of Concurrency, volume 255 of LNCS, pages 279-324. Springer- Verlag, 1986.
  18. Ken L. McMillan. Getting Started With SMV. Cadence Berkley Labs, 2001 Addison St. Berkley, CA, March 1999.
  19. G. L. Peterson. Myths about the mutual exclusion problem. Information Processing Letters, 12(3):115-116, 1981.
  20. A. Valmari. A stubborn attack on state explosion. In Proc. 2nd. Work- shop on Computer-Aided Verification, volume 531 of LNCS, pages 156-165. Springer-Verlag, 1990.
  21. P. Wolper and P. Godefroid. Partial-order methods for temporal verifica- tion.
  22. In E. Best, editor, Proceedings of the 4th International Conference on Concurrency Theory (CONCUR'93), volume 715 of LNCS, 1993.