Proving the correctness of implementations of shared data abstractions

  • L. Kozma
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 137)


A method is presented for proving the correctness of an implementation of shared abstract data types. The proposed correctness proof method is an extension of Hoare's method developed for proving the correctness of an implementation of abstract data types specified in a sequential programming environment. An example is given to illustrate the proposed proof method.


Abstract Object Concrete Object Sequential Program Concurrent Program Abstract Operation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Dijkstra 75]
    E.W. Dijkstra "Guarded Commands, Nondeterminacy and Formal Derivation of Programs" Comm. of the ACM 18, 8, pp. 453–457 /1975/Google Scholar
  2. [Hoare 72]
    C.A.R. Hoare Proofs of Correctness of Data Representations,Acta Informatica I. pp. 271–281. /1972/Google Scholar
  3. [Hoare 74]
    C.A.R. Hoare Monitors: an Operating System Structuring Concept Comm. of the ACM 17. 10, pp. 549–556 /October 1974/Google Scholar
  4. [Howard 76]
    J.H. Howard Proving Monitors Comm.of the ACM 19,5, pp. 273–279 /1976/Google Scholar
  5. [Kozma 81]
    L. Kozma A Transformation of Strongly Correct Concurrent Programs In: Proceedings of Third Hungarian Computer Science Conference, pp. 157–170 /1981/Google Scholar
  6. [Lamport 77]
    L. Lamport Proving the Correctness of Multiprocess Programs EIII Transactions on Software Engineering, Vol. SE-3, No. 2., /March 1977/Google Scholar
  7. [Lamsweerde and Sintzoff 79]
    A. van Lamsweerde and M. Sintzoff Formal Derivation of Strongly Correct Acta Informatica 12, pp. 1–31. /1979/Google Scholar
  8. [Laventhal 78]
    M.S. Laventhal Synthesis of synchronization code for data abstracti abstractions M.I.T. Laboratory for Computer Science /1978/Google Scholar
  9. [Owicki 76]
    S. Owicki An axiomatic proof technique for parallel programs II. shared data abstractions Stanford University /1976/Google Scholar
  10. [Owicki and Gries 76]
    S. Owicki and D. Gries An Axiomatic Proof Technique for Parallel Programs I. Acta Informatica 6, pp. 319–340 /1976/Google Scholar
  11. [Owicki 78]
    S. Owicki Verifying Concurrent Programs with Shared Data Classes In: Formal Description of Programming Concepts, E.J. Neuhold /e.d./ North-Holland Publishing Company /1978/Google Scholar
  12. [Shaw and et. al. 77]
    M. Shaw, W.A. Wulf, R.L. London Abstraction and Verification in Alphard: Defining and Specifiying Iteration and Generators Comm. of the ACM, 20, 8. pp. 353–364 /Aug. 1977/Google Scholar
  13. [Spitzen and Wegbreit 75]
    J. Spitzen and B. Wegbreit The Verification and Synthesis of Data Structures Acta Informatica 4. pp. 127–144 /1975/Google Scholar
  14. [Varga 80]
    L. Varga Specification of Reliable Software Operációs Rendszerek Téli Iskola MTA Számitástechnikai és Automatizálási Kutató Intézet Tanulmányok 113/1980 309–325Google Scholar
  15. [Wulf and et. al. 76]
    W. Wulf, R. London and M. Shaw "An Introduction to the Construction and Verification of Alphard Programs" IEEE Transactions of Software Eng. SE-2, pp. 253–264 /1976/Google Scholar
  16. [Wulf and et. al. 77]
    W.A. Wulf, R.L. London and M. Shaw Abstraction and Verification in Alphard: A Symbol Table Example In. Proceedings of IFIP TC2 Working Conference, Novosibirsk /1977/Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1982

Authors and Affiliations

  • L. Kozma
    • 1
  1. 1.Enterprise for Computing ApplicationBudapestHungary

Personalised recommendations