Automatic verification of finite-state concurrent systems using temporal logic specifications

@article{Clarke1986AutomaticVO,
  title={Automatic verification of finite-state concurrent systems using temporal logic specifications},
  author={Edmund M. Clarke and E. Allen Emerson and A. Prasad Sistla},
  journal={ACM Transactions on Programming Languages and Systems (TOPLAS)},
  year={1986},
  volume={8},
  pages={244 - 263},
  url={https://api.semanticscholar.org/CorpusID:52853200}
}
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.

Figures from this paper

A temporal Logic Approach to Specify and to Prove Properties of Finite State Concurrent Systems

It is shown that, starting from the axiomatic description of a concurrent system, a finite Kripke model H is obtained automatically such that theorem proving is reduced to model checking with respect to H.

Model-Checking for Probabilistic Real-Time Systems (Extended Abstract)

This paper extends model-checking to stochastic real-time systems, whose behavior depends on probabilistic choice and quantitative time, with a model that can express constraints like “the delay between the request and the response is distributed uniformly between 2 to 4 seconds”.

Checking that finite state concurrent programs satisfy their linear specification

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.

Unfold/Fold Transformations for Automated Verification of Parameterized Concurrent Systems

This chapter investigates the verification of a common class of infinite state systems, namely parameterized systems, which are parameterized by the number of component processes and lies beyond the reach of traditional model checking.

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.

The Beginning of Model Checking: A Personal Perspective

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

Verification Tools for Finite-State Concurrent Systems

This paper describes in detail how the new implementation works and gives realistic examples to illustrate its power, and discusses a number of directions for future research.

State/Event-Based Software Model Checking

This work presents a framework for model checking concurrent software systems which incorporates both states and events, and shows how standard automata-theoretic LTL model checking algorithms can be ported to this framework at no extra cost, enabling it to directly benefit from the large body of research on efficient LTL verification.

Model Checking for Infinite State Systems Using Data Abstraction, Assumption-Commitment Style reasoning and Theorem Proving

This paper contains a complete case study to prove safety and liveness of an implementation of a scheduler for the readers/writers problem which uses unbounded queues and sets.

Symbolic model checking of real-time systems

This approach directly supports abstractions of real-time systems by ignoring irrelevant qualitative properties, but without loosing any quantitative information.
...

Verifying Concurrent Processes Using Temporal Logic

A new technique in terms of axioms and inference rules is used to prove safety and liveness properties of parallel programs, and it is demonstrated that many of the techniques used in program verification can be used for specification as well.

Proving Liveness Properties of Concurrent Programs

A formal proof method, based on temporal logic, for deriving liveness properties is presented, which allows a rigorous formulation of simple informal arguments and how to reason with temporal logic and use safety (invariance) properties in proving liveness is shown.

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.

Synthesis of Communicating Processes from Temporal Logic Specifications

Propositional Temporal Logic is applied to the specification and synthesis of the synchronization part of communicating processes by constructing a model of the given specifications using a tableau-like satisfiability algorithm for PTL.

“Sometimes” and “not never” revisited: on branching versus linear time temporal logic

A language, CTL*, in which a universal or existential path quantifier can prefix an arbitrary linear time assertion, is defined and the expressive power of a number of sublanguages is compared.

Characterizing Correctness Properties of Parallel Programs Using Fixpoints

We have shown that correctness properties of parallel programs can be described using computation trees and that from these descriptions fixpoint characterizations can be generated. We have also

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.

The complexity of propositional linear temporal logics

The complexity of satisfiability and determination of truth in a particular finite structure are considered for different propositional linear temporal logics. It is shown that these problems are