Skip to main content

Reasoning About Systems with Transition Fairness

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 3452))

Abstract

Formal verification methods model systems by Kripke structures. In order to model live behaviors of systems, Kripke structures are augmented with fairness conditions. Such conditions partition the computations of the systems into fair computations, with respect to which verification proceeds, and unfair computations, which are ignored. Reasoning about Kripke structures augmented with fairness is typically harder than reasoning about non-fair Kripke structures. We consider the transition fairness condition, where a computation π is fair iff each transition that is enabled in π infinitely often is also taken in π infinitely often. Transition fairness is a natural and useful fairness condition. We show that reasoning about Kripke structures augmented with transition fairness is not harder than reasoning about non-fair Kripke structures. We demonstrate it for fair CTL and LTL model checking, and the problem of calculating the dominators and postdominators.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aminof, B., Ball, T., Kupferman, O.: Reasoning about systems with transition fairness. Technical Report MSR-TR-2004-89 (September 2004)

    Google Scholar 

  2. Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.J.: Symbolic model checking: 1020 states and beyond. I&C 98(2), 142–170 (1992)

    MathSciNet  MATH  Google Scholar 

  3. Bloem, R., Gabow, H.N., Somenzi, F.: An algorithm for strongly connected component analysis in n log n symbolic steps. In: Johnson, S.D., Hunt Jr., W.A. (eds.) FMCAD 2000. LNCS, vol. 1954, pp. 37–54. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  4. Buchsbaum, A.L., Kaplan, H., Rogers, A., Westbrook, J.R.: A new, simpler lineartime dominators algorithm. ACM TOPLAS 20(6), 1265–1296 (1998)

    Article  Google Scholar 

  5. Bloem, R., Ravi, K., Somenzi, F.: Efficient decision procedures for model checking of linear time logic properties. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 222–235. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  6. Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching time temporal logic. In: Kozen, D. (ed.) Logic of Programs 1981. LNCS, vol. 131, pp. 52–71. Springer, Heidelberg (1982)

    Chapter  Google Scholar 

  7. Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems 8(2), 244–263 (1986)

    Article  MATH  Google Scholar 

  8. Cytron, R., Ferrante, J., Rosen, B.K., Wegman, M.N., Kenneth Zadeck, F.: Efficiently computing static single assignment form and the control dependence graph. ACM Trans. Program. Lang. Syst. 13(4), 451–490 (1991)

    Article  Google Scholar 

  9. Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999)

    Google Scholar 

  10. Chockler, H., Kupferman, O., Vardi, M.Y.: Coverage metrics for temporal logic model checking. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 528–542. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  11. Emerson, E.A., Halpern, J.Y.: ‘Sometimes’ and ‘not never’ revisited: on branching versus linear time. Journal of the ACM 33(1), 151–178 (1986)

    Article  MathSciNet  MATH  Google Scholar 

  12. Emerson, E.A., Lei, C.-L.: Modalities for model checking: branching time logic strikes back. Science of Computer Programming 8, 275–306 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  13. Emerson, E.A.: Temporal and modal logic. In: Van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, vol. B, ch. 16, pp. 997–1072. Elsevier,MIT Press (1990)

    Google Scholar 

  14. Ferrante, J., Ottenstein, K., Warren, J.: The program dependence graph and its use in optimization. ACM Trans. Program. Lang. Syst. 9(3), 319–349 (1987)

    Article  MATH  Google Scholar 

  15. Francez, N.: Fairness. Springer, New York (1986)

    Book  MATH  Google Scholar 

  16. Grumberg, O., Long, D.E.: Model checking and modular verification. ACM Trans. on Programming Languages and Systems 16(3), 843–871 (1994)

    Article  Google Scholar 

  17. Gentilini, R., Piazza, C., Policriti, A.: Computing strongly connected components in a linear number of symbolic steps. In: 14th ACM-SIAM Symposium on Discrete Algorithms, Baltimore, Maryland, pp. 573–582 (2003)

    Google Scholar 

  18. Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)

    MATH  Google Scholar 

  19. Henzinger, M., Telle, J.A.: Faster algorithms for the nonemptiness of Streett automata and for communication protocol pruning. In: Karlsson, R., Lingas, A. (eds.) SWAT 1996. LNCS, vol. 1097, pp. 10–20. Springer, Heidelberg (1996)

    Google Scholar 

  20. Kupferman, O., Grumberg, O.: Buy one, get one free!!! Journal of Logic and Computation 6(4), 523–539 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  21. Kesten, Y., Pnueli, A., Raviv, L.: Algorithmic verification of linear temporal logic specifications. In: Larsen, K.G., Skyum, S., Winskel, G. (eds.) ICALP 1998. LNCS, vol. 1443, pp. 1–16. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  22. Kesten, Y., Pnueli, A., Shahar, E., Zuck, L.: Network invariant in action. In: Brim, L., Jančar, P., Křetínský, M., Kucera, A. (eds.) CONCUR 2002. LNCS, vol. 2421, pp. 101–115. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  23. Kupferman, O., Vardi, M.Y.: Verification of fair transition systems. Chicago Journal of Theoretical Computer Science (2) (March 1998)

    Google Scholar 

  24. Kupferman, O., Vardi, M.Y.: Relating linear and branching model checking. In: Proc. PROCOMET, pp. 304–326. Chapman & Hall, Boca Raton (1998)

    Google Scholar 

  25. Latvala, T., Heljanko, K.: Coping with strong fairness. Fundamenta Informaticae 43(1-4), 175–193 (2000)

    MathSciNet  MATH  Google Scholar 

  26. Lehman, D., Pnueli, A., Stavi, J.: Impartiality, justice, and fairness – the ethics of concurrent termination. In: Even, S., Kariv, O. (eds.) ICALP 1981. LNCS, vol. 115, pp. 264–277. Springer, Heidelberg (1981)

    Chapter  Google Scholar 

  27. Lengauer, T., Tarjan, R.E.: A fast algorithm for finding dominators in a flowgraph. ACM Trans. Prog. Lang. and Sys. 1(1), 121–141 (1979)

    Article  MATH  Google Scholar 

  28. Maidl, M.: Using Model Checking for System Verification. PhD thesis, Ludwig- Maximilians-Universität München (2000)

    Google Scholar 

  29. Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems: Specification, January 1992. Springer, Berlin (1992)

    Book  Google Scholar 

  30. Queille, J.P., Sifakis, J.: Specification and verification of concurrent systems in Cesar. In: Dezani-Ciancaglini, M., Montanari, U. (eds.) Programming 1982. LNCS, vol. 137, pp. 337–351. Springer, Heidelberg (1982)

    Chapter  Google Scholar 

  31. Queille, J.P., Sifakis, J.: Fairness and related properties in transition systems - A temporal logic to deal with fairness. Acta Informatica 19, 195–220 (1983)

    Article  MathSciNet  MATH  Google Scholar 

  32. Thomas, W.: Automata on infinite objects. In: Handbook of Theoretical Computer Science, pp. 165–191 (1990)

    Google Scholar 

  33. Vardi, M.Y.: Automatic verification of probabilistic concurrent finite-state programs. In: Proc. 26th FOCS, October 1985, pp. 327–338 (1985)

    Google Scholar 

  34. Thomas, W.: Automata on infinite objects. In: Handbook of Theoretical Computer Science, pp. 165–191 (1990)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Aminof, B., Ball, T., Kupferman, O. (2005). Reasoning About Systems with Transition Fairness. In: Baader, F., Voronkov, A. (eds) Logic for Programming, Artificial Intelligence, and Reasoning. LPAR 2005. Lecture Notes in Computer Science(), vol 3452. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-32275-7_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-32275-7_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-25236-8

  • Online ISBN: 978-3-540-32275-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics