Liveness Checking as Safety Checking

Armin Biere, Cyrille Artho, Viktor Schuppan

Electronic Notes in Theoretical Computer Science · 2002 · 169 citations · 14 references

DOIFull text

Open access

Concepts

Abstract

Temporal logic is widely used for specifying hardware and software systems. Typically two types of properties are distinguished, safety and liveness properties. While safety can easily be checked by reachability analysis, and many efficient checkers for safety properties exist, more sophisticated algorithms have always been considered to be necessary for checking liveness. In this paper we describe an efficient translation of liveness checking problems into safety checking problems. A counter example is detected by saving a previously visited state in an additional state recording component and checking a loop closing condition. The approach handles fairness and thus extends to full LTL.

References

14