Checking that finite state concurrent programs satisfy their linear specification

  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},
  • O. Lichtenstein, A. Pnueli
  • Published 1 January 1985
  • Computer Science
  • Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
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. 

Automatic verification of probabilistic concurrent finite state programs

  • Moshe Y. Vardi
  • Computer Science
    26th 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

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

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

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

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

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

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

  • E. Emerson
  • Computer Science
    25 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

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

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



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

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

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

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

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

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

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

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

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

  • L. Lamport
  • Philosophy, Computer Science
    POPL '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

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