Skip to main content

Liminf progress measures

  • Conference paper
  • First Online:
Mathematical Foundations of Programming Semantics (MFPS 1991)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 598))

Abstract

Consider a program P that satisfies a specification S. It is natural to think that every single step of a computation of P somehow contributes to making the computation closer to satisfying S. For specifications that define liveness properties, methods that directly quantify such a notion of progress or convergence are often quite limited in scope. Instead many approaches, such as those that deal with termination under fairness, rely on program transformations, since there was no known way of directly expressing progress towards fair termination.

In this article we use the novel concept of progress measures to quantify progress for a large class of specifications. The main result is a precise characterization of what it means for a program to satisfy a Liminf specification. Such specifications define properties at a higher level of the Borel hierarchy than earlier methods based on Büchi automata and Propositional Temporal Logic. In particular, we give a solution to the problem of verification involving the very general notion of extreme fairness. More generally, our results establish a connection between assertional reasoning about programs and descriptive set theory.

This work was mainly carried out at Cornell University and supported by grants from the University of Aarhus, Denmark; Forskerakademiet, Aarhus; and the Thanks to Scandinavia Foundation Inc., NY.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Abadi and L. Lamport. The existence of refinement mappings. In Proc. 2. Symp. on Logic in Computer Science. IEEE, 1988. To appear in Theoretical Computer Science.

    Google Scholar 

  2. B. Alpern and F.B. Schneider. Recognizing safety and liveness. Distributed Computing, 2:117–126, 1987.

    Article  Google Scholar 

  3. B. Alpern and F.B. Schneider. Verifying temporal properties without temporal logic. ACM Transactions on Programming Languages and Systems, 11(1):147–167, January 1989.

    Google Scholar 

  4. K.R. Apt. Ten years of Hoare's logic: A survey—part I. ACM Transactions on Programming Languages, 3(4):431–483, 1981.

    Google Scholar 

  5. K.R. Apt and E.-R. Olderog. Proof rules and transformations dealing with fairness. Science of Computer Programming, 3:65–100, 1983.

    Google Scholar 

  6. K.R. Apt and G.D. Plotkin. Countable nondeterminism and random assignment. JACM, 33(4):724–767, 1986.

    Google Scholar 

  7. K.R. Apt, A. Pnueli, and J. Stavi. Fair termination revisited with delay. Theoretical Computer Science, 33:65–84, 1984.

    Google Scholar 

  8. A. Arnold. Topological characterizations of infinite behaviors of transition systems. In Proc. 10th Col. Automata, Languages and Programming, pages 490–510. LNCS, Vol. 154, Springer-Verlag, 1983.

    Google Scholar 

  9. A. Arnold and Nivat M. Metric interpretations of infinite trees and semantics of non deterministic recursive programs. Theoretical Computer Science, 11:181–205, 1980.

    Google Scholar 

  10. I. Dayan and D. Harel. Fair termination with cruel schedulers. Fundamenta Informatica, 9:1–12, 1986.

    Google Scholar 

  11. P. Degano and U. Montanari. Liveness properties as convergence measures in metric spaces. In Proc. 16th ACM Symposium on Theory of Computing, pages 31–38, 1984.

    Google Scholar 

  12. R. Floyd. Assigning meaning to programs. In Mathematical Aspects of Computer Science XIX, pages 19–32. American Mathematical Society, 1967.

    Google Scholar 

  13. N. Francez and D. Kozen. Generalized fair termination. In Proc. 11th POPL, Salt Lake City. ACM, January 1984.

    Google Scholar 

  14. Nissim Francez. Fairness. Springer-Verlag, 1986.

    Google Scholar 

  15. David Gries. The Science Of Programming. Springer-Verlag, 1981.

    Google Scholar 

  16. O. Grumberg, N. Francez, J.A. Makowsky, and W.P. de Roever. A proof rule for fair termination of guarded commands. Information and Control, 66(1/2):83–102, 1985.

    Google Scholar 

  17. D. Harel. Effective transformations on infinite trees with applications to high undecidability, dominos, and fairness. Journal of the ACM, 33(1):224–248, 1986.

    Google Scholar 

  18. C.A.R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, 12(10):576–580, October 1969.

    Article  Google Scholar 

  19. N. Klarlund. Progress measures and stack assertions for fair termination. Submitted, 1991.

    Google Scholar 

  20. N. Klarlund. Progress measures for complementation of Ω-automata with applications to temporal logic. In Proc. Foundations of Computer Science. IEEE, 1991.

    Google Scholar 

  21. N. Klarlund and D. Kozen. Rabin measures and their applications to fairness and automata theory. In Proc. Sixth Symp. on Logic in Computer Science. IEEE, 1991.

    Google Scholar 

  22. N. Klarlund and F.B. Schneider. Proving nondeterministically specified safety properties using progress measures. To appear in Information and Computation, 1992.

    Google Scholar 

  23. Nils Klarlund. Progress Measures and Finite Arguments for Infinite Computations. PhD thesis, TR-1153, Cornell University, August 1990.

    Google Scholar 

  24. M. Kwiatkowska. On topological characterization of behavioural properties. Technical report, Department of Computing Studies, University of Leicester, 1990.

    Google Scholar 

  25. L.H. Landweber. Decision problems for Ω-automata. Math. System Theory, 3:376–384, 1969.

    Google Scholar 

  26. D. Lehmann, A. Pnueli, and J. Stavi. Impartiality, justice and fairness: the ethics of concurrent termination. In Proc. 8th ICALP. LNCS 115, Springer-Verlag, 1981.

    Google Scholar 

  27. M.G. Main. Complete proof rules for strong fairness and strong extremefairness. Technical Report CU-CS-447-89, Department of Computer Science, University of Colorado, 1989.

    Google Scholar 

  28. Z. Manna and A. Pnueli. Adequate proof principles for invariance and liveness properties of concurrent programs. Science of Computer Programming, 4(3):257–290, 1984.

    Article  Google Scholar 

  29. Z. Manna and A. Pnueli. Specification and verification of concurrent programs by ∀-automata. In Proc. Fourteenth Symp. on the Principles of Programming Languages, pages 1–12. ACM, 1987.

    Google Scholar 

  30. Z. Manna and A. Pnueli. A hierarchy of temporal properties. In Proc. Ninth Symp. on the Principles of Distributed Computing, pages 377–408. ACM, 1990.

    Google Scholar 

  31. Yiannis N. Moschovakis. Descriptive Set Theory, volume 100 of Studies in Log. and the Found. of Math. North-Holland, 1980.

    Google Scholar 

  32. L. Priese and D. Nolte. Strong fairness, metric spaces, and logical complexity. Technical Report 65, Universität-Gesamthochschule-Paderborn, Fachbereich Mathematik-Informatik, 1990.

    Google Scholar 

  33. M.O. Rabin. Decidability of second-order theories and automata on infinite trees. American Mathematical Society, 141:1–35, 1969.

    Google Scholar 

  34. R. Rinat, N. Erancez, and O. Grumberg. Infinite trees, markings and wellfoundedness. Information and Computation, 79:131–154, 1988.

    Google Scholar 

  35. Hartley Rogers, Jr. Theory of Recursive Functions and Effective Computability. McGraw-Hill Book Company, 1967.

    Google Scholar 

  36. A.P. Sistla. On using automata in the verification of concurrent programs. Technical report, Computer and Intelligent Systems Laboratory, GTE Laboratories Inc, 1987.

    Google Scholar 

  37. A.P. Sistla. A complete proof system for proving correctness of nondeterministic safety specifications. Technical report, Computer and Intelligent Systems Laboratory, GTE Laboratories Inc., 1989.

    Google Scholar 

  38. F.A. Stomp, W.P. de Roever, and R.T. Gerth. The Μ-calculus as an assertion-language for fairness arguments. Information and Computation, 82:278–322, 1989.

    Google Scholar 

  39. M. Vardi. Verification of concurrent programs: The automata-theoretic framework. In Proc. Symp. on Logic in Computer Science. IEEE, 1987.

    Google Scholar 

  40. P. Wolper. Temporal logic can be more expressive. Information and Control, 56:72–99, 1983.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Stephen Brookes Michael Main Austin Melton Michael Mislove David Schmidt

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Klarlund, N. (1992). Liminf progress measures. In: Brookes, S., Main, M., Melton, A., Mislove, M., Schmidt, D. (eds) Mathematical Foundations of Programming Semantics. MFPS 1991. Lecture Notes in Computer Science, vol 598. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55511-0_25

Download citation

  • DOI: https://doi.org/10.1007/3-540-55511-0_25

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55511-7

  • Online ISBN: 978-3-540-47194-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics