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.
Topics
Finite-state Concurrent Systems (opens in a new tab)Concurrent (opens in a new tab)Automatic Verification (opens in a new tab)Concurrent Systems (opens in a new tab)Branching-time Temporal Logics (opens in a new tab)Complexity (opens in a new tab)Fairness (opens in a new tab)Temporal Logic Specifications (opens in a new tab)
3,956 Citations
A temporal Logic Approach to Specify and to Prove Properties of Finite State Concurrent Systems
- 1988
Computer Science
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)
- 1991
Computer Science
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
- 1985
Computer Science
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
- 2004
Computer Science
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
- 1990
Computer Science
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
- 2008
Computer Science
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
- 1993
Computer Science
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
- 2004
Computer Science
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
- 1995
Computer Science, Engineering
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
- 2001
Computer Science
This approach directly supports abstractions of real-time systems by ignoring irrelevant qualitative properties, but without loosing any quantitative information.
20 References
Verifying Concurrent Processes Using Temporal Logic
- 1982
Computer Science
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.
Using Branching Time Temporal Logic to Synthesize Synchronization Skeletons
- 1982
Computer Science
Proving Liveness Properties of Concurrent Programs
- 1982
Computer Science
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
- 1981
Computer Science
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
- 1981
Computer Science
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
- 1986
Computer Science
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
- 1980
Computer Science
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
- 1982
Computer Science, Mathematics
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
- 1981
Computer Science, Mathematics
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
- 1985
Computer Science, Mathematics
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…