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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Aminof, B., Ball, T., Kupferman, O.: Reasoning about systems with transition fairness. Technical Report MSR-TR-2004-89 (September 2004)
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)
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)
Buchsbaum, A.L., Kaplan, H., Rogers, A., Westbrook, J.R.: A new, simpler lineartime dominators algorithm. ACM TOPLAS 20(6), 1265–1296 (1998)
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)
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)
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)
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)
Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999)
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)
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)
Emerson, E.A., Lei, C.-L.: Modalities for model checking: branching time logic strikes back. Science of Computer Programming 8, 275–306 (1987)
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)
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)
Francez, N.: Fairness. Springer, New York (1986)
Grumberg, O., Long, D.E.: Model checking and modular verification. ACM Trans. on Programming Languages and Systems 16(3), 843–871 (1994)
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)
Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)
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)
Kupferman, O., Grumberg, O.: Buy one, get one free!!! Journal of Logic and Computation 6(4), 523–539 (1996)
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)
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)
Kupferman, O., Vardi, M.Y.: Verification of fair transition systems. Chicago Journal of Theoretical Computer Science (2) (March 1998)
Kupferman, O., Vardi, M.Y.: Relating linear and branching model checking. In: Proc. PROCOMET, pp. 304–326. Chapman & Hall, Boca Raton (1998)
Latvala, T., Heljanko, K.: Coping with strong fairness. Fundamenta Informaticae 43(1-4), 175–193 (2000)
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)
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)
Maidl, M.: Using Model Checking for System Verification. PhD thesis, Ludwig- Maximilians-Universität München (2000)
Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems: Specification, January 1992. Springer, Berlin (1992)
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)
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)
Thomas, W.: Automata on infinite objects. In: Handbook of Theoretical Computer Science, pp. 165–191 (1990)
Vardi, M.Y.: Automatic verification of probabilistic concurrent finite-state programs. In: Proc. 26th FOCS, October 1985, pp. 327–338 (1985)
Thomas, W.: Automata on infinite objects. In: Handbook of Theoretical Computer Science, pp. 165–191 (1990)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)