Memory-efficient algorithms for the verification of temporal properties

  title={Memory-efficient algorithms for the verification of temporal properties},
  author={Costas A. Courcoubetis and Moshe Y. Vardi and Pierre Wolper and Mihalis Yannakakis},
  journal={Formal Methods in System Design},
This article addresses the problem of designing memory-efficient algorithms for the verification of temporal properties of finite-state programs. Both the programs and their desired temporal properties are modeled as automata on infinite words (Büchi automata). Verification is then reduced to checking the emptiness of the automaton resulting from the product of the program and the property. This problem is usually solved by computing the strongly connected components of the graph representing… 
A Space-Efficient On-the-fly Algorithm for Real-Time Model Checking
An automata-theoretic approach to TCTL model checking that combines on-the-fly and space-efficient model checking methods, and is suggested, for the first time, a PSPACE on- the-fly model-checking algorithm for T CTL.
Truly On-The-Fly LTL Model Checking
A novel algorithm for automata-based LTL model checking that interleaves the construction of the generalized Buchi automaton for the negation of the formula and the emptiness check, which can yield significant improvements in runtime and memory, for large LTL formulas.
Distributed Memory Ltl Model Checking
Three completely new algorithms are suggested to solve the accepting cycle detection problem in a distributed memory environment by employing the verified LTL formula and building on the breadth first search of the graph, which avoids the problematic depth first search postorder.
A partial approach to model checking
A model-checking method for linear-time temporal logic that avoids the state explosion due to the modeling of concurrency by interleaving by relying on the concept of the Mazurkiewicz trace as a semantic basis and using automata-theoretic techniques.
Tarjan's Algorithm Makes On-the-Fly LTL Verification More Efficient
A new algorithm based on Tarjan’s algorithm for detecting strongly connected components is presented, showing its correctness, how it can be efficiently implemented, and its interaction with other model checking techniques, such as bitstate hashing.
Simple on-the-fly automatic verification of linear temporal logic
A tableau-based algorithm for obtaining an automaton from a temporal logic formula that can be constructed simultaneously with, and guided by, the generation of the model, and which can be used in model checking in an “on-the-fly” fashion.
On-the-fly symbolic model checking for real-time systems
An on-the-fly and symbolic algorithm for checking whether a timed automaton satisfies a formula of a timed temporal logic which is more expressive than TCTL and which has improved the performances of the tool KRONOS for the verification of the FDDI protocol.
Linear-Time Model Checking: Automata Theory in Practice
The fundamentals of automata-theoretic model checking are reviewed, the reduction of the theory to practice is reviewed, and areas that require further research are outlined.
Analysis of Timed Systems Using Time-Abstracting Bisimulations
The objective of this paper is to show how verification of dense-time systems modeled as timed automata can be effectively performed using untimed verification techniques, and to demonstrate the practical interest behind the approach, namely, Fischer's mutual exclusion protocol and the CSMA/CD communication protocol.
An Efficient Algorithm for Minimizing Real-time Transition Systems
We address the problem of performing simultaneously reachability analysis and minimization of real-time transition systems represented by timed automata, i.e., automata extended with a finite set of


Avoiding the state explosion problem in temporal logic model checking
A linear algorithm that determines whether the global state transition graph associated with some concurrent program satisfies a formula in the temporal logic CTL and has been used successfully to find errors in network protocols and asynchronous circuits designs.
Bounded-memory Algorithms for Verification On-the-fly
A considerable need for such methods appeared these last ten years in different domains, such as design of asynchronous circuits, communication protocols and distributed software in general, and many different theories have been suggested for the automated analysis of distributed systems.
Checking that finite state concurrent programs satisfy their linear specification
An algorithm for checking satisfiability of a linear time temporal logic formula over a finite state concurrent program and a formal proof in case the formula is valid over the program is presented.
Adding liveness properties to coupled finite-state machines
It is shown that with very minor modifications to the implemented system it is possible to substantially extend the type of properties that can be specified and checked by SPANNER, by extending the S/R model to include acceptance conditions found in automatons on infinite words, which permits the incorporation of arbitrary liveness conditions into the model.
Unified Verification Theory
An automata-theoretic framework to the verification of concurrent and nondeterministic programs is presented that unifies previous works on verification of temporal properties and verification of fair termination.
On the Relation of Programs and Computations to Models of Temporal Logic
  • P. Wolper
  • Philosophy, Computer Science
    Temporal Logic in Specification
  • 1987
This paper first characterize the models and model generators of different versions of temporal logic using automata theory, then builds a classification of verification and synthesis methods that use temporal logic.
Tracing protocols
The paper addresses the problem of finding errors in data communication protocols of which the size precludes analysis by traditional means and describes the protocol tracing method, which allows one to locate design errors in protocols relatively quickly by probing a partial state space.
State-Space Caching Revisited
It is shown that, in many cases, most reachable states are visited only once during state-space exploration, which enables one not to store most of the states that have already been visited without incurring too much redundant explorations of parts of the state space.
Reasoning about infinite computation paths
This work investigates extensions of temporal logic by finite automata on infinite words by investigating the addition of alternation and shows that it does not increase the complexity of the decision problem.