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.
Preview
Unable to display preview. Download preview PDF.
References
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.
B. Alpern and F.B. Schneider. Recognizing safety and liveness. Distributed Computing, 2:117–126, 1987.
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.
K.R. Apt. Ten years of Hoare's logic: A survey—part I. ACM Transactions on Programming Languages, 3(4):431–483, 1981.
K.R. Apt and E.-R. Olderog. Proof rules and transformations dealing with fairness. Science of Computer Programming, 3:65–100, 1983.
K.R. Apt and G.D. Plotkin. Countable nondeterminism and random assignment. JACM, 33(4):724–767, 1986.
K.R. Apt, A. Pnueli, and J. Stavi. Fair termination revisited with delay. Theoretical Computer Science, 33:65–84, 1984.
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.
A. Arnold and Nivat M. Metric interpretations of infinite trees and semantics of non deterministic recursive programs. Theoretical Computer Science, 11:181–205, 1980.
I. Dayan and D. Harel. Fair termination with cruel schedulers. Fundamenta Informatica, 9:1–12, 1986.
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.
R. Floyd. Assigning meaning to programs. In Mathematical Aspects of Computer Science XIX, pages 19–32. American Mathematical Society, 1967.
N. Francez and D. Kozen. Generalized fair termination. In Proc. 11th POPL, Salt Lake City. ACM, January 1984.
Nissim Francez. Fairness. Springer-Verlag, 1986.
David Gries. The Science Of Programming. Springer-Verlag, 1981.
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.
D. Harel. Effective transformations on infinite trees with applications to high undecidability, dominos, and fairness. Journal of the ACM, 33(1):224–248, 1986.
C.A.R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, 12(10):576–580, October 1969.
N. Klarlund. Progress measures and stack assertions for fair termination. Submitted, 1991.
N. Klarlund. Progress measures for complementation of Ω-automata with applications to temporal logic. In Proc. Foundations of Computer Science. IEEE, 1991.
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.
N. Klarlund and F.B. Schneider. Proving nondeterministically specified safety properties using progress measures. To appear in Information and Computation, 1992.
Nils Klarlund. Progress Measures and Finite Arguments for Infinite Computations. PhD thesis, TR-1153, Cornell University, August 1990.
M. Kwiatkowska. On topological characterization of behavioural properties. Technical report, Department of Computing Studies, University of Leicester, 1990.
L.H. Landweber. Decision problems for Ω-automata. Math. System Theory, 3:376–384, 1969.
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.
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.
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.
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.
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.
Yiannis N. Moschovakis. Descriptive Set Theory, volume 100 of Studies in Log. and the Found. of Math. North-Holland, 1980.
L. Priese and D. Nolte. Strong fairness, metric spaces, and logical complexity. Technical Report 65, Universität-Gesamthochschule-Paderborn, Fachbereich Mathematik-Informatik, 1990.
M.O. Rabin. Decidability of second-order theories and automata on infinite trees. American Mathematical Society, 141:1–35, 1969.
R. Rinat, N. Erancez, and O. Grumberg. Infinite trees, markings and wellfoundedness. Information and Computation, 79:131–154, 1988.
Hartley Rogers, Jr. Theory of Recursive Functions and Effective Computability. McGraw-Hill Book Company, 1967.
A.P. Sistla. On using automata in the verification of concurrent programs. Technical report, Computer and Intelligent Systems Laboratory, GTE Laboratories Inc, 1987.
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.
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.
M. Vardi. Verification of concurrent programs: The automata-theoretic framework. In Proc. Symp. on Logic in Computer Science. IEEE, 1987.
P. Wolper. Temporal logic can be more expressive. Information and Control, 56:72–99, 1983.
Author information
Authors and Affiliations
Editor information
Rights 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