# Linear-Time Model Checking: Automata Theory in Practice

@inproceedings{Vardi2007LinearTimeMC, title={Linear-Time Model Checking: Automata Theory in Practice}, author={Moshe Y. Vardi}, booktitle={CIAA}, year={2007} }

In automata-theoretic model checking we compose the design under verification with a Buchi automaton that accepts traces violating the specification. We then use graph algorithms to search for a counterexample trace. The basic theory of this approach was worked out in the 1980s, and the basic algorithms were developed during the 1990s. Both explicit and symbolic implementations, such as SPIN and and SMV, are widely used. It turns out, however, that there are still many gaps in our understanding…

## One Citation

Symbolic automata better balances how automata are implemented in practice

- 2021

## References

SHOWING 1-10 OF 29 REFERENCES

An Automata-Theoretic Approach to Linear Temporal Logic

- Computer ScienceBanff Higher Order Workshop
- 1995

The automata-theoretic approach to linear temporal logic uses the theory of automata as a unifying paradigm for program specification, verification, and synthesis and considers the relationships between programs and their specifications as relationships between languages.

Memory-efficient algorithms for the verification of temporal properties

- Computer ScienceFormal Methods Syst. Des.
- 1992

Algorithms are presented that solve the emptiness problem without explicitly constructing the strongly connected components of the graph representing the product automaton by allowing the algorithms to err with some probability.

Theories of Automata on omega-Tapes: A Simplified Approach

- MathematicsJ. Comput. Syst. Sci.
- 1974

Checking that finite state concurrent programs satisfy their linear specification

- Computer SciencePOPL
- 1985

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.

Model Checking

- Computer Science
- 2000

Model checking is applied concurrently with system design, and particularly in its early stages when systems are modelled at a high level of abstraction, because the payoff of finding bugs at that stage is highest whereas the costs are low.

Reasoning About Infinite Computations

- Computer ScienceInf. Comput.
- 1994

This work investigates extensions of temporal logic by connectives defined by finite automata on infinite words and shows that they do not increase the expressive power of the logic or the complexity of the decision problem.

Branching vs. Linear Time: Final Showdown

- Computer ScienceTACAS
- 2001

It is argued that in spite of the phenomenal success of CTL-based model checking, CTL suffers from several fundamental limitations as a specification language, all stemming from the fact that CTL is a branching-time formalism: the language is unintuitive and hard to use, it does not lend itself to compositional reasoning, and it is fundamentally incompatible with semiformal verification.

A Temporal Logic of Nested Calls and Returns

- Computer ScienceTACAS
- 2004

This work introduces a temporal logic of calls and returns (CaRet) for specification and algorithmic verification of correctness requirements of structured programs and presents a tableau construction that reduces the model checking problem to the emptiness problem for a Buchi pushdown system.

NuSMV 2: An OpenSource Tool for Symbolic Model Checking

- Computer ScienceCAV
- 2002

This paper describes version 2 of the NuSMV tool, a state-of-the-art symbolic model checker designed to be applicable in technology transfer projects and is robust and close to industrial systems standards.