Streamlining progress-based derivations of concurrent programs

  • Authors:
  • Brijesh Dongol;Arjan J. Mooij

  • Affiliations:
  • The University of Queensland, ARC Centre for Complex Systems, School of Information Technology and Electrical Engineering, Brisbane, Australia;The University of Nottingham, School of Computer Science and Information Technology, Nottingham, UK

  • Venue:
  • Formal Aspects of Computing
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

The logic of Owicki and Gries is a well-known logic for verifying safety properties of concurrent programs. Using this logic, Feijen and van Gasteren describe a method for deriving concurrent programs based on safety. In this work, we explore derivation techniques of concurrent programs using progress-based reasoning. We use a framework that combines the safety logic of Owicki and Gries, and the progress logic of UNITY. Our contributions improve the applicability of our earlier techniques by reducing the calculational overhead in the formal proofs and derivations. To demonstrate the effectiveness of our techniques, a derivation of Dekker’s mutual exclusion algorithm is presented. This derivation leads to the discovery of some new and simpler variants of this famous algorithm.