LPAR '01 Proceedings of the Artificial Intelligence on Logic for Programming
Semantics for Abstract Interpretation-Based Static Analyzes of Temporal Properties
SAS '02 Proceedings of the 9th International Symposium on Static Analysis
Approximating the Behaviour of Graph Transformation Systems
ICGT '02 Proceedings of the First International Conference on Graph Transformation
A lattice-theoretic characterization of safety and liveness
Proceedings of the twenty-second annual symposium on Principles of distributed computing
Synthesis of fault-tolerant concurrent programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Automated synthesis of composite services with correctness guarantee
Proceedings of the 18th international conference on World wide web
Synthesis of Fault-Tolerant Distributed Systems
ATVA '09 Proceedings of the 7th International Symposium on Automated Technology for Verification and Analysis
Hi-index | 0.00 |
Abstract: We extend the Alpern and Schneider linear time characterization of safety and liveness properties to branching time, where properties are sets of trees. We define two closure operators that give rise to the following four extremal types of properties: universally safe, existentially safe, universally live, and existentially live. The distinction between universal and existential properties captures the difference between the CTL path quantifiers A (for all paths) and E (there is a path). We show that every branching time property is the intersection of an existentially safe property and an existentially live property, a universally safe property and a universally live property, and an existentially safe property and a universally live property. We also examine how our closure operators behave on linear time properties. We then focus on sets of finitely branching trees and show that our closure operators agree on linear time safety properties. Furthermore, if a set of trees is given implicitly as a Rabin tree automaton, {\cal B}, we show that it is possible to compute the Rabin automata corresponding to the closures of the language of {\cal B}. This allows us to effectively compute {\cal B_{safe}} and {\cal B_{live}} such that the language of {\cal B} is the intersection of the languages of {\cal B_{safe}} and {\cal B_{live}}. As above, {\cal B_{safe}} and {\cal B_{live}} can be chosen so that their languages are existentially safe and existentially live, universally safe and universally live, or existentially safe and universally live.