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
    0 references
    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
    0 references
    0 references
    0 references
    0 references
    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
    0 references