Abstract
A formal characterization for safety properties and liveness properties is given in terms of the structure of the Buchi automaton that specifies the property. The characterizations permit a property to be decomposed into a safety property and a liveness property whose conjunction is the original. The characterizations also give insight into techniques required to prove a large class of safety and liveness properties.
Similar content being viewed by others
References
Alpern B (1986) Proving temporal properties of concurrent programs: a non-temporal approach. PhD Thesis. Department of Computer Science, Cornell University (January 1986)
Alpern B, Demers AJ, Schneider FB (1986) Safety without stuttering. Inf Proc Lett 23(4): 177–180
Alpern B, Schneider FB (1985) Defining liveness. Inf Proc Lett 21:181–185
Alpern B, Schneider FB (1985) Verifying temporal properties without using temporal logic. Tech Rep TR 85-723, Department of Computer Science, Cornell University (December 1985)
Alpern B, Schneider FB (1987) Proving boolean combinations of deterministic properties. Proc 2nd Ann Symp Logic Comput Sci; IEEE Comput Soc, Ithaca, NY (June 1987)
Clarke EM, Emerson, EA, Sistla AP (1986) Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Trans Programm Languages Syst 8(2):244–263
Eilenberg S (1974) Automata Languages and Machines, Vol A. Academic Press, NY
Hopcroft JE, Ullman JD (1979) Introduction to Automata Theory, Languages and Computation. Addison-Wesley
Lamport L (1977) Proving the correctness of multiprocess programs. IEEE Trans Software Eng SE-3, 2:125–143
Lamport L (1983) What good is temporal logic. In: Magon REA (ed) Information Processing '83. North-Holland, Amsterdam, pp 657–668
Lamport L (1985) Logical foundation. In: Paul M, Siegert HJ (eds) Distributed Systems — Methods and Tools for Specification, vol 190. Lect Notes Comput. Springer-Verlag, Berlin Heidelberg New York
Lichtenstein O, Pnueli O, Zuck L (1985) The glory of the past. Proc Workshop on Logics of Programs, vol 193 (June 1985). Brooklyn, NY. Lect. Notes Comput Sci, pp 196–218
Manna Z, Pnueli A (1981) Verification of concurrent programs: The temporal framework. In: Boyer RS, Moore JS (eds) The Correctness Problem in Computer Science (1981) International lectures in Computer Science. Academic Press, London, pp 141–154
Manna Z, Pnueli A (1987) Specification and Verification of Concurrent Programs by ∀-Automata. Proc 14th Symp Principles of Programming Languages. ACM, Munich, (January 1987), pp 1–12.
Sistla AP (1985) On characterization of safety and liveness properties in temporal logic. Proc 4th Symp Principles of Distributed Computing. ACM, Minaki, (August 1985), pp 39–48
Sistla AP (1986) On characterization of safety and liveness properties in temporal logic. Tech Rep, GTE Lab, Waltham MA, (March 1986, revised July 1986).
Sistla AP, Yardi MY, Wolper P (1985) The complementation problems for Buchi automata with applications to temporal logic (extended abstract). Proc 12th International Colloquium on Automata, Languages and Programming, ICALP'85. Nafplion Greece (July 1985) Lect Notes Comput Sci Springer Verlag, New York 194:465–474
Vardi M (1987) Verification of concurrent programs: The automata-theoretic framework. Proc 2nd Annual Symposium on Logic in Computer Science. IEEE Comput Soc, Ithaca, NY (June 1987)
Wolper P (1983) Temporal logic can be more expressive. Control 56(1–2):72–99
Author information
Authors and Affiliations
Additional information
Bowen Alpern was born in 1952. He received a Ph.D. in Computer Science from Cornell University in 1986. Currently, he is a Research Staff Member in the Mathematics Department of the IBM T.J. Watson Research Center.
Fred B. Schneider is an associate professor in the Computer Science Department at Cornell University. He received a Ph.D. in Computer Science from S.U.N.Y. at Stony Brook in 1978 and a B.S. from Cornell in 1975. Schneider is a member of the editorial boards of Distributed Computing and Information Processing Letters. He is also a member of the U.S. Army Committee on Recommendations for Basic Research, the College Board Committe for Advanced Placement Computer Science, IFIP Working Group 2.3 (Programming Methodology), and the Standing Organizing Committee for Principles of Distributed Computing Conferences. He has served on the program committee for PODC, POPL, SOSP, and FTCS.
This work is supported, in part, by NSF Grant DCR-8320274 and Office of Naval Research contract N00014-86-K-0092
Rights and permissions
About this article
Cite this article
Alpern, B., Schneider, F.B. Recognizing safety and liveness. Distrib Comput 2, 117–126 (1987). https://doi.org/10.1007/BF01782772
Issue Date:
DOI: https://doi.org/10.1007/BF01782772