Spanning the Spectrum from Safety to Liveness ============================================= Of special interest in formal verification are {\em safety\/} specifications, which assert that the system stays within some allowed region, in which nothing ``bad'' happens. Equivalently, a computation violates a safety specification if it has a ``bad prefix'' -- a prefix all whose extensions violate the specification. The theoretical properties of safety specifications as well as their practical advantages with respect to general specifications have been widely studied. Safety is binary: a specification is either safety or not safety. We introduce a quantitative measure for safety. Intuitively, the {\em safety level\/} of a language $L$ measures the fraction of words not in $L$ that have a bad prefix. In particular, a safety language has safety level $1$ and a liveness language has safety level $0$. Thus, our study spans the spectrum between traditional safety and liveness. The formal definition of safety level is based on probability and measures the probability of a random word not in $L$ to have a bad prefix. We study the problem of finding the safety level of languages given by means of deterministic and nondeterministic automata as well as LTL formulas, and the problem of deciding their membership in specific classes along the spectrum (safety, almost-safety, fraction-safety, etc.). We also study properties of the different classes and the structure of deterministic automata for them.