Verification and behavior abstraction towards a tractable verification technique for large distributed systems

https://doi.org/10.1016/0164-1212(96)00026-XGet rights and content

Abstract

In this article, we present a method for coping with the complexity of verification of industrial sized distributed systems' specifications. To formally verify a specification of a distributed system, one usually constructs the complete state-space for the specification and then checks if the behavior represented by the state-space has the properties one wants it to have. Such an approach is usually limited to rather small specifications because we are confronted with what is known as the state-space explosion problem. That means that, because of interleavings, for medium or even small-sized specifications, the corresponding state-space becomes so large that usual verification techniques become intractable.

Because it is often not necessary to have present all information about the distributed system, we can calculate abstractions of the behavior of a distributed system whose state-space representation is much smaller than the state-space that represents the complete behavior. Methods exist for computing the abstracted state-space directly from the specification without having to compute the state-space for the complete behavior. We will show in this article how properties verified for an abstracted behavior can be retranslated into corresponding properties of the complete behavior. Especially for liveness properties with respect to the behavior, this is a nontrivial problem. But we will show that restrictions exist that are easily satisfied by specifications of practical interest that allow the retranslation of such liveness properties from the abstracted to the complete behavior.

References (35)

  • B. Alpern et al.

    Defining Liveness

    Information Processing Letters

    (October 1985)
  • S. Budkowski et al.

    An Introduction to Estelle

    Computer Networks and ISDN-Systems

    (1987)
  • J. Berstel

    Studienbücher Informatik

  • H.J. Burkhardt et al.

    Product Nets—a Formal Description Technique for Co-operating Systems

  • G. Bruns

    A practical technique for process abstraction, in Best

  • J.R. Büchi

    On a decision method in restricted second order arithmetic

  • E.M. Clarke et al.

    Design and synthesis of synchronization skeletons using branching-time temporal logic, in Logic of programs 1981

  • E.M. Clarke et al.

    Automatic Verification of Finite-State Concurrent Systems Using Temporal Logic Specifications

    ACM Transactions on Programming Languages and Systems

    (1986)
  • P. Combes et al.

    Formal verification of telecommunication service interactions using SDL methods and tools

  • E.A. Emerson

    Temporal and modal logic

  • S. Graf et al.

    Property preserving abstractions under parallel composition

  • P. Godefroid et al.

    A Partial Approach to Model Checking

  • P. Godefroid et al.

    Using partial orders for the efficient verification of deadlock freedom and safety properties

  • P. Godefroid et al.

    Using Partial Orders for the Efficient Verification of Deadlock Freedom and Safety Properties

    Formal Methods in System Design

    (April 1993)
  • M.A. Harrison
  • Cited by (3)

    • Interpretation of the full computation tree logic CTL* on sets of infinite sequences

      1997, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

    Supported by a DAAD-fellowship HSP II/AUFE. Parts of this article were finished when the author was visiting the University of Liège, Belgium.

    View full text