# Checking that finite state concurrent programs satisfy their linear specification

@article{Lichtenstein1985CheckingTF, title={Checking that finite state concurrent programs satisfy their linear specification}, author={Orna Lichtenstein and Amir Pnueli}, journal={Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages}, year={1985} }

We present an algorithm for checking satisfiability of a linear time temporal logic formula over a finite state concurrent program. The running time of the algorithm is exponential in the size of the formula but linear in the size of the checked program. The algorithm yields also a formal proof in case the formula is valid over the program. The algorithm has four versions that check satisfiability by unrestricted, impartial, just and fair computations of the given program.

## 737 Citations

Automatic verification of probabilistic concurrent finite state programs

- Computer Science26th Annual Symposium on Foundations of Computer Science (sfcs 1985)
- 1985

An automata-theoretic approach is described, whereby probabilistic quantification over sets of computations is reduced to standard quantificationover individual computations, and a new determinization construction for ω-automata is used to improve the time complexity of the algorithm by two exponentials.

Verifying temporal properties of finite-state probabilistic programs

- Computer Science[Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science
- 1988

The complexity of testing whether a finite-state (sequential or concurrent) probabilistic program satisfies its specification expressed in linear temporal logic. For sequential programs an…

The complexity of probabilistic verification

- Computer Science, MathematicsJACM
- 1995

This work determines the complexity of testing whether a finite state, sequential or concurrent probabilistic program satisfies its specification expressed in linear-time temporal logic and addresses questions for specifications described by ω-automata or formulas in extended temporal logic.

Verification of Timed Automata via Satisfiability Checking

- Computer ScienceFTRTFT
- 2002

How to translate bounded-length verification problems for timed automata into formulae in difference logic, a propositional logic enriched with timing constraints, and the principles of a satisfiability checker specialized for this logic are described.

Model Checking Properties on Reduced Trace Systems

- Computer ScienceAlgorithms
- 2014

This paper interpret a temporal logic over a partial order model that is a trace system that can be completely avoided and a method is presented that keeps the trace system finite, also in the presence of infinite computations.

The Beginning of Model Checking: A Personal Perspective

- Computer Science25 Years of Model Checking
- 2008

Model checking provides an automated method for verifying concurrent systems using an efficient and flexible graph-theoretic reachability algorithm based on the small model theorem for temporal logic.

Verifying temporal properties without temporal logic

- Computer ScienceTOPL
- 1989

An approach to proving temporal properties of concurrent programs that does not use temporal logic as an inference system is presented and is shown to be sound and relatively complete.

Model Checking with Formula-Dependent Abstract Models

- Computer ScienceCAV
- 2001

We present a model checking algorithm for ∀CTL (and full CTL) which uses an iterative abstraction refinement strategy.
It terminates at least for all transition systems M that have a finite…

Is your model checker on time? On the complexity of model checking for timed modal logics

- Computer ScienceJ. Log. Algebraic Methods Program.
- 2002

Unified Verification Theory

- Computer ScienceTemporal Logic in Specification
- 1987

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.

## References

SHOWING 1-10 OF 34 REFERENCES

Verification of concurrent programs: a temporal proof system

- Computer Science
- 1983

A proof system based on temporal logic is presented for proving properties of concurrent programs based on the shared-variables computation model and derived proof principles for these classes of properties obtained and lead to a compact representation of proofs.

The complexity of propositional linear temporal logics

- Philosophy, MathematicsSTOC '82
- 1982

We consider the complexity of satisfiability and determination of truth in a particular finite structure for different propositional linear temporal logics. We show that both the above problems are…

The temporal logic of branching time

- PhilosophyPOPL '81
- 1981

The following metatheoretical results are proven: 1) an exponential decision procedure for satisfiability; 2) a finite model property; 3) the completeness of an axiomatization.

Proving Precedence Properties: The Temporal Way

- Computer ScienceICALP
- 1983

The first methodological approach to the precedence properties is presented, while providing a review of the invariance and liveness properties, based on the ''unless'' operator, which is a weak version of the ''until'' operator.

Verification of concurrent programs, Part I: The temporal framework

- Computer Science
- 1981

The temporal formalism is introduced as a tool for reasoning about sequences of states and the set of interesting properties is classified into invariance (safety), eventuality (liveness, and precedence) properties.

Verification of Concurrent Programs: Temporal Proof Principles

- Computer ScienceLogic of Programs
- 1981

This paper presents proof methods for establishing invariance (safety) and eventuality (liveness) properties of temporal logic in concurrent programs.

Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic

- Computer ScienceLogic of Programs
- 1981

We have shown that it is possible to automatically synthesize the synchronization skeleton of a concurrent program from a Temporal Logic specification. We believe that this approach may in the long…

"Sometime" is sometimes "not never": on the temporal logic of programs

- Philosophy, Computer SciencePOPL '80
- 1980

The logical foundations of the application of temporal logic to concurrent programs are clarified, and the relation between concurrency and nondeterminism is clarified, as well as some problems for further research.

Real-time programming and asynchronous message passing

- Computer SciencePODC '83
- 1983

This paper indicates a method of describing real-time processes and their asynchronous communication by means of message exchanges. This description method is based upon an extension of linear time…

Towards Analyzing and Synthesizing Protocols

- Computer ScienceIEEE Trans. Commun.
- 1980

The production of error-free protocols or complex process interactions is essential to reliable communications. This paper presents techniques for both the detection of errors in protocols and for…