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


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
Towards Analyzing and Synthesizing Protocols
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