From Linear Temporal Logic Properties to Rewrite Propositions (original) (raw)

Transformational Verification of Linear Temporal Logic

We present a new method for verifying Linear Temporal Logic (LTL) properties of finite state reactive systems based on logic programming and program transformation. We encode a finite state sys- tem and an LTL property which we want to verify as a logic program on infinite lists. Then we apply a verification method consisting of two steps. In the first step we transform the logic program that encodes the given system and the given property into a new program belonging to the class of the so-called linear monadic !-programs (which are stratified, linear recursive programs defining nullary predicates or unary predicates on infinite lists). This transformation is performed by applying rules that preserve correctness. In the second step we verify the property of inter- est by using suitable proof rules for linear monadic !-programs. These proof rules can be encoded as a logic program which always terminates, if evaluated by using tabled resolution. Although our method uses stan- dard pr...

Refinement of LTL formulas for abstract model checking

Static Analysis, 2002

A crucial problem in abstract model checking is to find a tradeoff between constructing the "best" (the smallest) abstract model, approximating a given model, and preserving as much interesting properties over the original model as possible. In this paper, we present a method for dealing with this problem based on the definition of a new abstract satisfiability relation. This new relation allows us to analyze temporal properties with different degrees of precision, by means of a refinement process. The method subsumes the classic way of abstracting properties and the dual proposal of the authors. As a consequence, maintaining the same abstract model, we directly obtain the preservation of universal properties (as in the classic method) and the refutation of existential properties (as in the dual method). We also show the utility of this method by proving that the very important notions of completeness and precision in abstract model checking may be analyzed by using the new relation. In particular, we exploit the power of model checking to simultaneously refine both the model and the properties. 1

Towards a Temporal Logic τLTL for the Verification of Rewriting Theories denoting ECATNets

The propositional linear temporal logic LTL [Man89] is a well studied tool for specifying and reasoning about distributed programs. When an interleaving semantics is adopted, the main problem is the state explosion induced by these many linearizations. An alternative approach is to use rewriting logic as a truly concurrent model and semantic framework for the specification of languages and systems [Mes90]. Some useful models of concurrency, such as ECATNets, can be obtained as special cases of concurrent rewriting by imposing some restrictions on the rewrite theory being used. The initial model τ ℜ of a rewrite theory ℜ is a category with algebraic structure, where the objects correspond to system states, and the arrows, libelled by proof-terms induced by one-step-concurrent rewrites correspond to concurrent system transitions. The behaviour of an ECATNet denoted by a theory ℜ is represented in a very compact way. To make the integration straightforward, both logics must refer to the same mathematical structure. The aim of this paper is defining an action-based temporal logic, namely τLTL devoted to rewriting theories denoting ECATNets where the underlying structure is a category τ ℜ .

TAGED Approximations for Temporal Properties Model-Checking

Lecture Notes in Computer Science, 2009

This paper investigates the use of tree automata with global equalities and disequalities (TAGED for short) in reachability analysis over term rewriting systems (TRSs). The reachability problem being in general undecidable on non terminating TRSs, we provide TAGED-based construction, and then design approximation-based semi-decision procedures to model-check useful temporal patterns on infinite state rewriting graphs. To show that the above TAGED-based construction can be effectively carried out, complexity analysis for rewriting TAGED-definable languages is given. This work has been funded by the French ANR-06-SETI-014 RAVAJ project.

A Rewriting-Based Model Checker for the Linear Temporal Logic of Rewriting

Electronic Notes in Theoretical Computer Science, 2012

This paper presents a model checker for LTLR, a subset of the temporal logic of rewriting TLR * extending linear temporal logic with spatial action patterns. Both LTLR and TLR * are very expressive logics generalizing well-known state-based and action-based logics. Furthermore, the semantics of TLR * is given in terms of rewrite theories, so that the concurrent systems on which the LTLR properties are model checked can be specified at a very high level with rewrite rules. This paper answers a nontrivial challenge, namely, to be able to build a model checker to model check LTLR formulas on rewrite theories with relatively little effort by reusing Maude's LTL model checker for rewrite theories. For this, the reflective features of both rewriting logic and its Maude implementation have proved extremely useful.

Abstract satisfiability of linear temporal logic

2001

Abstract. Model Checking has become one of the most powerful methods for automatic verification of software systems. But this technique is only directly applicable to small or medium size systems. For large systems, it suffers from the state explosion problem. One of the most promising ways to solve this problem is the use of Abstract Interpretation to construct simpler models of the system, where the interesting properties can be analyzed. In this paper, we present a theoretical language-independent framework to assist in the ...

Temporal Logics with Language Parameters

Lecture Notes in Computer Science, 2021

Computation Tree Logic (CTL) and its extensions CTL * and CTL + are widely used in automated verification as a basis for common model checking tools. But while they can express many properties of interest like reachability, even simple regular properties like "Every other index is labelled a" cannot be expressed in these logics. While many extensions were developed to include regular or even non-regular (e.g. visibly pushdown) languages, the first generic framework, Extended CTL, for CTL with arbitrary language classes was given by Axelsson et. al. and applied to regular, visibly pushdown and (deterministic) context-free languages. We extend this framework to CTL * and CTL + and analyse it with regard to decidability, complexity, expressivity and satisfiability.

Notes on Model Checking and Abstraction in Rewriting Logic

To specify the properties of interest about our systems we will use linear temporal logic (LTL), which is interpreted in a standard way in Kripke structures. In what follows, we assume a fixed non-empty set of atomic propositions AP.

Branching-Time Temporal Logics with Minimal Model Quantifiers

Lecture Notes in Computer Science, 2009

Temporal logics are a well investigated formalism for the specification and verification of reactive systems. Using formal verification techniques, we can ensure the correctness of a system with respect to its desired behavior (specification), by verifying whether a model of the system satisfies a temporal logic formula modeling the specification. From a practical point of view, a very challenging issue in using temporal logic in formal verification is to come out with techniques that automatically allow to select small critical parts of the system to be successively verified. Another challenging issue is to extend the expressiveness of classical temporal logics, in order to model more complex specifications. In this paper, we address both issues by extending the classical branching-time temporal logic CTL * with minimal model quantifiers (MCTL * ). These quantifiers allow to extract, from a model, minimal submodels on which we check the specification (also given by an MCTL * formula). We show that MCTL * is strictly more expressive than CTL * . Nevertheless, we prove that the model checking problem for MCTL * remains decidable and in particular in PSPACE. Moreover, differently from CTL * , we show that MCTL * does not have the tree model property, is not bisimulation-invariant and is sensible to unwinding. As far as the satisfiability concerns, we prove that MCTL * is highly undecidable. We further investigate the model checking and satisfiability problems for MCTL * sublogics, such as MPML, MCTL, and MCTL + , for which we obtain interesting results. Among the others, we show that MPML retains the finite model property and the decidability of the satisfiability problem. 6 6 J J J J J J i 6 6 J J J J J J