skip to main content
article
Free Access

A New Approach to Proving the Correctness of Multiprocess Programs

Published:01 January 1979Publication History
Skip Abstract Section

Abstract

A new, nonassertional approach to proving multiprocess program correctness is described by proving the correctness of a new algorithm to solve the mutual exclusion problem. The algorithm is an improved version of the bakery algorithm. It is specified and proved correct without being decomposed into indivisible, atomic operations. This allows two different implementations for a conventional, nondistributed system. Moreover, the approach provides a sufficiently general specification of the algorithm to allow nontrivial implementations for a distributed system as well.

References

  1. 1 GREIF, I. A language for formal problem specifications. Comm. ACM20, 12 (Dec. 1977), 931-935. Google ScholarGoogle Scholar
  2. 2 KELLER, R. Formal verification of parallel programs. Comm. ACM 19, 7 (July 1976), 371-384. Google ScholarGoogle Scholar
  3. 3 LAMPORT, L. Proving the correctness of multiprocess programs. IEEE Trans. Software Eng. SE.3, 7 (March 1977), 125-143.Google ScholarGoogle Scholar
  4. 4 LAMPORT, L. A new solution of Dijkstra's concurrent programming problem. Comm. ACM 17, 8 (Aug. 1974), 453-455. Google ScholarGoogle Scholar
  5. 5 LAMPORT, L. Time, clocks and the ordering of events in a distributed system. Comm. ACM 21, 7 (July 1978), 558-565. Google ScholarGoogle Scholar
  6. 6 LAMPORT, L. Concurrent reading and writing. Comm. ACM 20, 11 (Nov. 1977), 806-811. Google ScholarGoogle Scholar
  7. 7 OwIcKI, S., A~o GRins, D. Verifying properties of parallel programs: an axiomatic approach. Comm. ACM 19, 5 (May 1976), 279-285. Google ScholarGoogle Scholar

Index Terms

  1. A New Approach to Proving the Correctness of Multiprocess Programs

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Programming Languages and Systems
        ACM Transactions on Programming Languages and Systems  Volume 1, Issue 1
        July 1979
        153 pages
        ISSN:0164-0925
        EISSN:1558-4593
        DOI:10.1145/357062
        Issue’s Table of Contents

        Copyright © 1979 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 January 1979
        Published in toplas Volume 1, Issue 1

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!