On-the-fly garbage collection: New algorithms inspired by program proofs
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.
- (1).J. Cohen. Garbage collection of linked data structures. Computing Surveys 13(3), 1981, 341–367.Google Scholar
- (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.Google Scholar
- (3).N. Francez. An application of a method for analysis of cyclic programs. IEEE Transactions on Software Engineering SE-4(5), 1978, 371–378.Google Scholar
- (4).N. Francez and A. Pnueli. A proof method for cyclic programs. Acta Informatica 9(1978), 133–157.Google Scholar
- (5).D. Gries. An exercise in proving parallel programs correct. Communications ACM 20(12), 1977, 921–930.Google Scholar
- (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).L. Lamport. Proving the correctness of multiprocess programs. IEEE Transactions on Software Engineering SE-3, 1977, 125–143.Google Scholar
- (8).S. Owicki and D. Gries. An axiomatic proof technique for parallel programs I. Acta Informatica 6(1976), 319–340.Google Scholar