Properties of an execution of a computer program—particularly for concurrent and distributed systems—have long been formulated by giving safety properties ("bad things don't happen") and liveness properties ("good things do happen").[1]
A program is totally correct with respect to a precondition and postcondition if any execution started in a state satisfying terminates in a state satisfying . Total correctness is a conjunction of a safety property and a liveness property:[2]
The safety property prohibits these "bad things": executions that start in a state satisfying and terminate in a final state that does not satisfy . For a program , this safety property is usually written using the Hoare triple .
The liveness property, the "good thing", is that execution that starts in a state satisfying terminates.
Note that a bad thing is discrete,[3] since it happens at a particular place during execution.
A "good thing" need not be discrete, but the liveness property of termination is discrete.
Formal definitions that were ultimately proposed for safety properties[4] and liveness properties[5] demonstrated that this decomposition is not only intuitively appealing but is also complete: all properties of an execution are a conjunction of safety and liveness properties.[5] Moreover, undertaking the decomposition can be helpful, because the formal definitions enable a proof that different methods must be used for verifying safety properties versus for verifying liveness properties.[6][7]
^Lamport, Leslie (March 1977). "Proving the correctness of multiprocess programs". IEEE Transactions on Software Engineering. SE-3 (2): 125–143. CiteSeerX 10.1.1.137.9454. doi:10.1109/TSE.1977.229904. S2CID 9985552.
^Manna, Zohar; Pnueli, Amir (September 1974). "Axiomatic approach to total correctness of programs". Acta Informatica. 3 (3): 243–263. doi:10.1007/BF00288637. S2CID 2988073.
^i.e. it has finite duration
^Alford, Mack W.; Lamport, Leslie; Mullery, Geoff P. (3 April 1984). "Basic concepts". Distributed Systems: Methods and Tools for Specification, An Advanced Course. Lecture Notes in Computer Science. Vol. 190. Munich, Germany: Springer Verlag. pp. 7–43. ISBN 3-540-15216-4.
^ abcAlpern, Bowen; Schneider, Fred B. (1985). "Defining liveness". Information Processing Letters. 21 (4): 181–185. doi:10.1016/0020-0190(85)90056-0.
^Alpern, Bowen; Schneider, Fred B. (1987). "Recognizing safety and liveness". Distributed Computing. 2 (3): 117–126. doi:10.1007/BF01782772. hdl:1813/6567. S2CID 9717112.
^The paper[5] received the 2018 Dijkstra Prize ("for outstanding papers on the principles of distributed computing whose significance and impact on the theory and/or practice of distributed computing have been evident for at least a decade"), for the formal decomposition into safety and liveness properties was crucial to future research into proving properties of programs.
and 24 Related for: Safety and liveness properties information
the livenessproperty of termination is discrete. Formal definitions that were ultimately proposed for safetypropertiesandlivenessproperties demonstrated...
for describing properties of computational systems. Hyperproperties generalize safetyandlivenessproperties, and can express properties such as non-interference...
has been entered" (a safetyproperty) or "the computer program eventually terminates" (a livenessproperty). Fairness properties can be used to rule out...
Action language Metric temporal logic Safetyandlivenessproperties Logic in Computer Science: Modelling and Reasoning about Systems: page 175 "Linear-time...
structures properties sequentially, and map its concurrent executions to a collection of sequential ones. To guarantee the safetyandlivenessproperties, concurrent...
model and analyse the timing behavior of computer systems, e.g., real-time systems or networks. Methods for checking both safetyandlivenessproperties have...
model checkers, which determine if a given artifact possesses safety or livenessproperties. For example, CTL can specify that when some initial condition...
interfaces, Termite can generate the driver code which holds the safetyandlivenessproperties. Another very interesting hacking effort has been done by RevNIC...
systems, where the specification contains liveness requirements (such as avoidance of livelock) as well as safety requirements (such as avoidance of states...
tool in developing and proving concurrent programs. A connection to temporal logic is given, so arbitrary safetyandlivenessproperties can be proven. Control...
property (IP) is a category of property that includes intangible creations of the human intellect. There are many types of intellectual property, and...
leaders in the system at any given time is false, and that shows that the bully algorithm is safe. Liveness is also guaranteed in the synchronous, crash-recovery...
Aviation safety is the study and practice of managing risks in aviation. This includes preventing aviation accidents and incidents through research, educating...
static analysis is in the verification of properties of software used in safety-critical computer systems and locating potentially vulnerable code. For...
responsible for several of the water's physical properties. These properties include its relatively high melting and boiling point temperatures: more energy is...
disease are unclear. There is little data about safety, and considerable variation among e-cigarettes and the liquid ingredients. Electronic cigarettes...
several properties of eka-aluminium that correspond closely to the real properties of gallium, such as its density, melting point, oxide character, and bonding...
improves many physical properties. For example, tools and components made of beryllium copper alloys are strong and hard and do not create sparks when...
Hydrogen safety covers the safe production, handling and use of hydrogen, particularly hydrogen gas fuel and liquid hydrogen. Hydrogen possesses the NFPA...
regarding a property such as correctness, robustness, safetyandliveness. Program analysis focuses on two major areas: program optimization and program correctness...
"Copper, Chemical Element – Overview, Discovery and naming, Physical properties, Chemical properties, Occurrence in nature, Isotopes". Chemistryexplained...
Hewitt's family andsafety had been improved. However, the video was soon removed again over a copyright claim. On 24 March 2014, LiveLeak and Ruptly announced...