skip to main content
research-article
Open Access

The rely-guarantee method for verifying shared variable concurrent programs

Authors Info & Claims
Published:01 March 1997Publication History
Skip Abstract Section

Abstract

Abstract

Compositional proof systems for shared variable concurrent programs can be devised by including the interference information in the specifications. The formalism falls into a category calledrely-guarantee (orassumption-commitment), in which a specification is explicitly (syntactically) split into two corresponding parts. This paper summarises existing work on the rely-guarantee method and gives a systematic presentation. A proof system for partial correctness is given first, thereafter it is demonstrated how the relevant rules can be adapted to verify deadlock freedom and convergence. Soundness and completeness, of which the completeness proof is new, are studied with respect to an operational model. We observe that the rely-guarantee method is in a sense a reformulation of the classical non-compositional Owicki & Gries method, and we discuss throughout the paper the connection between these two methods.

References

  1. [Apt81] Apt, K. R.: Recursive assertions and parallel programs.Acta Informatica, Springer-Verlag, 1981.Google ScholarGoogle Scholar
  2. [AbL95] Abadi M.Lamport L.Conjoining specificationsACM Trans. on Program. Lang. Syst.1995173507534Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. [Bac81] Back, R. J. R.: Proving total correctness of nondeterministic programs in infinitary logic.Acta Informatica, Springer-Verlag, 1981.Google ScholarGoogle Scholar
  4. [Bro93] Brookes, S. D.: Full abstraction for a shared variable parallel language. InProc. 8th IEEE Int. Symp. on Logic in Computer Science, 1993.Google ScholarGoogle Scholar
  5. [Col93] Collette, P.: Application of the composition principle to Unity-like specifications. In M.-C. Gaudel and J.-P. Jouannaud eds.,Proc, of TAPSOFT 93, LNCS 668, Springer-Verlag, 1993.Google ScholarGoogle Scholar
  6. [Coo78] Cook S. A.Soundness and completeness of an axiom system for program verificationSIAM Journal on Computing197877090Google ScholarGoogle ScholarCross RefCross Ref
  7. [deRo85] de Roever, W. P.: The quest for compositionality. inProc:IFIP Working Conf. The Role of Abstract Models in Computer Science. North-Holland, 1985.Google ScholarGoogle Scholar
  8. [Jon81] Jones, C. B.:Development methods for computer programs including a notion of interference. DPhil. Thesis, Oxford University Computing Laboratory, 1981.Google ScholarGoogle Scholar
  9. [Jon96] Jones C. B.Accommodating interference in the formal design of concurrent objectbased programsFormal Methods in System Design199682105121Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. [JoT95] Jonsson, B. and Tsay, Y.-K.: Reasoning about assumption/guarantee specifications in linear-time temporal logic. InProc, of TAPSOFT 95, LNCS, Springer-Verlag, 1995.Google ScholarGoogle Scholar
  11. [Lam95] Lamport L.The temporal logic of actionsACM Trans, on Program. Lang. Syst.1995163872923Google ScholarGoogle Scholar
  12. [MiC81] Misra J.Chandy M.Proofs of networks of processesIEEE SE198174417426Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. [Mos94] Moszkowski, B.: Some very compositional temporal properties, InProgramming Concepts, Methods and Calculi (A-56), E.-R. Olderog (Editor), Elsevier Science B.V. (North-Holland), pp. 307–326, 1994.Google ScholarGoogle Scholar
  14. [OwG76] Owicki, S. and Gries, D.: An axiomatic proof technique for parallel programs.Acta Inform. 6, pp. 319–340, Springer-Verlag, 1976.Google ScholarGoogle Scholar
  15. [Plo81] Plotkin, G. D.: A structural approach to operational semantics. Computer Science Department, Aarhus University, Technical Report, DAIMI FN-19,1981.Google ScholarGoogle Scholar
  16. [Sti88] Stirling C.A generalization of Owicki-Gries's Hoare logic for a concurrent while languageTheoretical Computer Science198858347359Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. [Stø90] Stølen, K.:Development of Parallel Programs on Shared Data-structures. Ph.D Thesis, Computer Science Department, Manchester University, 1990.Google ScholarGoogle Scholar
  18. [Stø91a] Stølen, K.: An attempt to reason about shared-state concurrency in the style of VDM. in S. Prehn and W. J. Toetenel, editors,Proceedings of VDM 91, LNCS 551, Springer-Verlag, 1991.Google ScholarGoogle Scholar
  19. [Stø91b] Stø1en, K.: A method for the development of totally correct shared-state parallel programs. In J.C.M. Baeten and J.F. Groote, editors,Proceedings of CONCUR 91, LNCS 527, Springer-Verlag, 1991.Google ScholarGoogle Scholar
  20. [Stø92a] Stø1en K.Proving total correctness with respect to a fair (share-state) parallel languageProceedings of BCS FACS 5th Refinement Workshop1992LondonSpringer-VerlagGoogle ScholarGoogle Scholar
  21. [Stø92b] Stø1en K.Shared-state design modulo weak and strong process fairnessProceedings of 5th International Conference on Formal Description Techniques1992FrancePerros-GuirecGoogle ScholarGoogle Scholar
  22. [WoD88] Woodcock J. C. P.Dickinson B.Using VDM with Rely and Guarantee-conditions, experiences from a real project2nd VDM-Europe Symposium1988Dublin, IrelandSpringer-VerlagGoogle ScholarGoogle Scholar
  23. [XdR95] Xu Q.-W.de Roever W.-P.He J.-RRely-guarantee method for verifying shared variable concurrent programs, report 95021995GermanyChristian-Albrechts-Universität zu KielGoogle ScholarGoogle Scholar
  24. [XuH91] Xu Q.-W.He J.-F.Morris J.Shaw R.A theory of state-based parallel programming: Part 1Proceedings of BCS FACS 4th Refinement Workshop1991CambridgeSpringer-VerlagGoogle ScholarGoogle Scholar
  25. [Xu92] Xu, Q.-W.:A theory of state-based parallel programming. DPhil. Thesis, Oxford University Computing Laboratory, 1992.Google ScholarGoogle Scholar
  26. [XCC94] Xu, Q.-W., Cau, A. and Collette, P.: On unifying assumption-commitment style proof rules for concurrency. In B. Jonsson and J. Parrow editors,Proceedings of CONCUR 94, LNCS 836, Springer-Verlag, 1994.Google ScholarGoogle Scholar

Index Terms

  1. The rely-guarantee method for verifying shared variable concurrent programs
          Index terms have been assigned to the content through auto-classification.

          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

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader