On-the-fly garbage collection: New algorithms inspired by program proofs

  • Mordechai Ben-Ari
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 140)


New algorithms for on-the-fly garbage collection have been presented. The basic algorithm has a correctness proof that is much simpler than that of the DLMSS algorithm. In (2), the color gray is introduced so that what we call BW(i, j, k) will always be false. Later this was found to be untenable and the invariants underwent modifications until correct ones were found. Rather than tinker with the invariants, we took the opportunity to look for changes in the algorithm which would keep the invariants simple. We do not claim to have synthesized the algorithm from the proof but do claim to have developed a good algorithm by setting simplicity of the proof as the primary goal.

This simplicity has paid off since we are able to obtain other improved algorithms whose proofs are immediate modifications of the original proof. Much work needs to be done investigating the performance of this and other on-the-fly garbage collection algorithms.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. (1).
    J. Cohen. Garbage collection of linked data structures. Computing Surveys 13(3), 1981, 341–367.MathSciNetCrossRefGoogle Scholar
  2. (2).
    E.W. Dijkstra, L. Lamport, A.J. Martin, C.S. Scholten and E.F.M. Steffens. On-the-fly garbage collection: an exercise in cooperation. Communications ACM 21(11), 1978, 966–975.CrossRefGoogle Scholar
  3. (3).
    N. Francez. An application of a method for analysis of cyclic programs. IEEE Transactions on Software Engineering SE-4(5), 1978, 371–378.MathSciNetCrossRefGoogle Scholar
  4. (4).
    N. Francez and A. Pnueli. A proof method for cyclic programs. Acta Informatica 9(1978), 133–157.MathSciNetCrossRefGoogle Scholar
  5. (5).
    D. Gries. An exercise in proving parallel programs correct. Communications ACM 20(12), 1977, 921–930.MathSciNetCrossRefGoogle Scholar
  6. (6).
    H.T. Kung and S.W. Song. An efficient parallel garbage collection system and its correctness proof. IEEE Symp. Found. Comp. Sci. 1977, 120–131.Google Scholar
  7. (7).
    L. Lamport. Proving the correctness of multiprocess programs. IEEE Transactions on Software Engineering SE-3, 1977, 125–143.MathSciNetCrossRefGoogle Scholar
  8. (8).
    S. Owicki and D. Gries. An axiomatic proof technique for parallel programs I. Acta Informatica 6(1976), 319–340.MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1982

Authors and Affiliations

  • Mordechai Ben-Ari
    • 1
  1. 1.Department of Computer Sciences School of Mathematical SciencesTel Aviv UniversityRamat AvivIsrael

Personalised recommendations