The concurrency workbench: a semantics-based tool for the verification of concurrent systems

@article{Cleaveland1993TheCW,
  title={The concurrency workbench: a semantics-based tool for the verification of concurrent systems},
  author={Rance Cleaveland and Joachim Parrow and Bernhard Steffen},
  journal={ACM Trans. Program. Lang. Syst.},
  year={1993},
  volume={15},
  pages={36-72}
}
The Concurrency Workbench is an automated tool for analyzing networks of finite-state processes expressed in Milner's Calculus of Communicating Systems. Its key feature is its breadth: a variety of different verification methods, including equivalence checking, preorder checking, and model checking, are supported for several different process semantics. One experience from our work is that a large number of interesting verification methods can be formulated as combinations of a small number of… 

Figures from this paper

An Efficient Verifier of Truly Concurrent Properties
TLDR
A parametric tool for the analysis of distributed concurrent systems that resorts to the rich labelling of the transitions encoding the parallel structure of processes to retrieve the interleaving, causal and locational semantics.
The specification of an asynchronous router
  • F. Moller
  • Computer Science
    Proceedings of 11th Annual Conference on Computer Assurance. COMPASS '96
  • 1996
TLDR
It is demonstrated how an informally presented specification can be formalised within the language of the modal /spl mu/ calculus, allowing for a rigorous mathematical analysis of the correctness of the proposed implementation of an asynchronous message router.
Asynchronous router specification
  • F. Moller
  • Computer Science
    IEEE Aerospace and Electronic Systems Magazine
  • 1997
TLDR
It is demonstrated how an informally-presented specification can be formalised within the language of the modal μ-calculus, allowing for a rigorous mathematical analysis of the correctness of the proposed implementation of an asynchronous message router.
VeriSoft: A Tool for the Automatic Analysis of Concurrent Reactive Software
TLDR
VeriSoft searches the state space of the system for deadlocks, livelocks, divergences, and violations of user-specified assertions in order to automatically detect coordination problems between concurrent processes.
The Speciication of an Asynchronous Router
TLDR
It is demonstrated how an informally-presented specii-cation can be formalised within the language of the modal-calculus, allowing for a rigorous mathematical analysis of the correctness of the proposed implementation of an asynchronous message router.
A Study on the Specification and Verification of Performance Properties (Extended Abstract)
TLDR
The process algebra expressing nets of automata is provided with a new operational semantics, that allows to reason about performance properties of concurrent systems, and it is shown how to apply modal μ-calculus to specify and verify performance-oriented properties.
VERSA: A Tool for Analyzing Resource-Bound Real-Time Systems
TLDR
This paper gives a brief overview of ACSR, describes the features of VERSA, and illustrates the application of VERsa to a real-time systems veriication problem.
Model Checking of Real-Time Properties of Resource-Bound Process Algebra
TLDR
A framework to verify ACSR models against their requirements described in an expressive timed temporal logic is suggested and the usefulness of this approach is demonstrated with a real world case study.
Flow Analysis for Verifying Specifications of Concurrent and Distributed Software
TLDR
This study indicates that sufficient precision for proving program properties can be achieved and that the cost for such analysis grows as a low-order polynomial in the size of the program.
Computer Aided Verification of Parallel Processes
TLDR
The components of a typical tool for the verification of parallel processes based on process algebras, such as CCS, TCSP, and ACP, and how the approach may be exploited for verifying communication protocols are described.
...
...

References

SHOWING 1-10 OF 101 REFERENCES
The Concurrency Workbench
TLDR
The Concurrency Workbench is an automated tool that caters for the analysis of networks of finite-state processes expressed in Milner's Calculus of Communicating Systems and has proven a valuable aid in teaching and research.
Implementing a Model Checking Algorithm by Adapting Existing Automated Tools
TLDR
This work describes an adaptation of a branching-time temporal logic, CTL, to which it has given a semantics in terms of sequences of communication actions, and describes a method for checking that a communicating system satisfies a formula in the logic.
Deciding Bisimulation Equivalences for a Class of Non-Finite-State Programs
TLDR
This paper shows how to extend some verification techniques to infinite-state programs that may read, store, and write data but not perform any other computations, and presents algorithms for deciding strong equivalence and observation equivalence, defined by bisimulations, between such programs.
Computing Behavioural Relations, Logically
This paper develops a model-checking algorithm for a fragment of the modal mu-calculus and shows how it may be applied to the efficient computation of behavioral relations between processes. The
An Implementation of a Translational Semantics for an Imperative Language
TLDR
By imposing restrictions on Lunsen so that the semantics of a program is finite-state, this work can analyze Lunsen programs automatically using the Concurrency Workbench, which is a tool for analysis of finite- state systems in CCS.
A linear-time model-checking algorithm for the alternation-free modal mu-calculus
TLDR
A model-checking algorithm for a logic that permits propositions to be defined using greatest and least fixed points of mutually recursive systems of equations is developed, which improves on the best known algorithm for similar fixed-point logics.
On the Compositional Checking of Validity (Extended Abstract)
TLDR
An attempt is made to explain what makes product different from the other operations with respect to compositional reasoning, and to delimit the obstacles to automated compositional checking of validity on parallel processes.
On the compositional checking of validity
TLDR
An attempt is made to explain what makes product different from the other operations with respect to compositional reasoning, and to delimit the obstacles to automated compositional checking of validity on parallel processes.
Compositional model checking
TLDR
The authors present a general framework for using additional interface processes to model the environment for a component and can guarantee that these properties will be preserved at the global level.
When is 'partial' adequate? A logic-based proof technique using partial specifications
  • R. Cleaveland, B. Steffen
  • Computer Science
    [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science
  • 1990
TLDR
Using the results, the authors develop compositional proof rules for establishing the correctness of networks of parallel processes and illustrate their use with several examples.
...
...