# 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.

## 743 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.

### Model Checking for Linear Temporal Logic: An Efficient Implementation

- Computer Science
- 1990

Evidence to support the claim that model checking for linear temporal logic (LTL) is 'practically efficient' is provided, based on transforming the model checking problem into a satisfiability problem.

### 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.

### Verifying Temporal Temporal Logic Properties without

- Computer Science
- 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.

### 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…

## References

SHOWING 1-10 OF 24 REFERENCES

### Automatic verification of finite state concurrent system using temporal logic specifications: a practical approach

- Computer SciencePOPL '83
- 1983

It is argued that this technique can provide a practical alternative to manual proof construction or use of a mechanical theorem prover for verifying many finite state concurrent systems.

### 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…