Modalities for model checking: Branching time logic strikes back (Q1820578)
From MaRDI portal
scientific article
Language | Label | Description | Also known as |
---|---|---|---|
English | Modalities for model checking: Branching time logic strikes back |
scientific article |
Statements
Modalities for model checking: Branching time logic strikes back (English)
0 references
1987
0 references
We consider automatic verification of finite state concurrent programs. The global state graph of such a program can be viewed as a finite (Kripke) structure, and a model checking algorithm can be given for determining if a given structure is a model of a specification expressed in a propositional temporal logic. In this paper, we present a unified approach for efficient model checking under a broad class of generalized fairness constraints in a branching time framework extending that of Clarke et al. (1983). Our method applies to any type of fairness expressed in a certain canonical form. Almost all 'practical' types of fairness from the literature, including the fundamental notions of impartiality, weak fairness, and strong fairness, can be succintly written in our canonical form. Moreover, our branching time approach can easily be adapted to handle types of fairness (such as fair reachability of a predicate) which cannot even be expressed in a linear temporal logic. We go on to argue that branching time logic is always better than linear time logic for model checking. We show that given any model checking algorithm for any system of linear time logic (in particular, for the usual system of linear time logic) there is a model checking algorithm of the same order of complexity (in both the structure and formula size) for the corresponding full branching time logic which trivially subsumes the linear time logic in expressive power (in particular, for the system of full branching time logic CTL). We also consider an application of our work to the theory of finite automata on infinite strings.
0 references
automatic verification of finite state concurrent programs
0 references
model checking
0 references
specification
0 references
propositional temporal logic
0 references
generalized fairness constraints
0 references
branching time logic
0 references
linear time logic
0 references
finite automata on infinite strings
0 references