Distributed Computing

, Volume 2, Issue 3, pp 117–126 | Cite as

Recognizing safety and liveness

  • Bowen Alpern
  • Fred B. Schneider


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.


Operating System Communication Network Computer System System Organization Large Class 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Alpern B (1986) Proving temporal properties of concurrent programs: a non-temporal approach. PhD Thesis. Department of Computer Science, Cornell University (January 1986)Google Scholar
  2. Alpern B, Demers AJ, Schneider FB (1986) Safety without stuttering. Inf Proc Lett 23(4): 177–180Google Scholar
  3. Alpern B, Schneider FB (1985) Defining liveness. Inf Proc Lett 21:181–185Google Scholar
  4. 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)Google Scholar
  5. 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)Google Scholar
  6. 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–263Google Scholar
  7. Eilenberg S (1974) Automata Languages and Machines, Vol A. Academic Press, NYGoogle Scholar
  8. Hopcroft JE, Ullman JD (1979) Introduction to Automata Theory, Languages and Computation. Addison-WesleyGoogle Scholar
  9. Lamport L (1977) Proving the correctness of multiprocess programs. IEEE Trans Software Eng SE-3, 2:125–143Google Scholar
  10. Lamport L (1983) What good is temporal logic. In: Magon REA (ed) Information Processing '83. North-Holland, Amsterdam, pp 657–668Google Scholar
  11. 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 YorkGoogle Scholar
  12. 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–218Google Scholar
  13. 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–154Google Scholar
  14. 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.Google Scholar
  15. 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–48Google Scholar
  16. Sistla AP (1986) On characterization of safety and liveness properties in temporal logic. Tech Rep, GTE Lab, Waltham MA, (March 1986, revised July 1986).Google Scholar
  17. 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–474Google Scholar
  18. 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)Google Scholar
  19. Wolper P (1983) Temporal logic can be more expressive. Control 56(1–2):72–99Google Scholar

Copyright information

© Springer-Verlag 1987

Authors and Affiliations

  • Bowen Alpern
    • 1
  • Fred B. Schneider
    • 2
  1. 1.IBM T.J. Watson Research CenterYorktown HeightsUSA
  2. 2.Department of Computer ScienceCornell UniversityIthacaUSA

Personalised recommendations