Abstract
As an application of a system designed for concurrent program verification, we describe a formalisation and mechanical proof of the correctness of Ben-Ari's incremental garbage collection algorithm. The proof system is based on the Manna-Pnueli model of concurrency and is implemented as an extension of the Boyer-Moore prover. The correctness of the garbage collector is represented by two theorems, stating a) that nothing except garbage is ever collected (safety), and b) that all garbage is eventually collected (liveness). We compare our mechanised treatment with several published proofs of the same results.
Similar content being viewed by others
References
Ben-Ari, M.:Algorithms for On-the-Fly Garbage Collection, ACM Toplas 6, July 1984.
Boyer, R. S., Goldschlag, D. M., Kaufmann, M., and Moore, J. S.:Functional Instantiation in First Order Logic, Tech. Report 44, Computational Logic, Inc., Austin, TX, 1989.
Boyer, R. S. and Moore, J. S.: A Computational Logic, Academic Press, New York, 1979.
Boyer, R. S. and Moore, J,: A Computational Logic Handbook, Academic Press, Boston, 1988.
Dijkstra, E. W., Lamport, L., Martin, A. J., Scholten, C. S., and Steffens, E. F. M.:On-the-Fly Garbage Collection: An Exercise in Cooperation, ACM 21 (11), November 1978.
Manna, Z. and Pnueli, A.:Verification of Concurrent Programs: the Temporal Framework, in The Correctness Problem in Computer Science, edited by Boyer, R. S. and Moore, J., Academic Press, London, 1981.
Manna, Z. and Pnueli, A.:Adequate Proof Principles for Invariance and Liveness Properties of Concurrent Programs, Science of Computer Programming 4 (1984), North-Holland.
Pixley, C.:An Incremental Garbage Collection Algorithm for Multi-mutator Systems, Distributed Computing (3), 1988.
Ramsey, N.:Developing Formally Verified Ada Programs, Proceeding of the Fifth International Conference on Software Specification and Design, May 1989.
Russinoff, D. M.:Verifying Concurrent Programs with the Boyer-Moore Prover, Tech. Report STP/ACT-218-90, MCC, Austin, TX, 1990.
Russinoff, D. M.:A Verification System for Concurrent Programs Based on the Boyer-Moore Prover, Formal Aspects of Computing, 4, 597–611 (1992).
Steele, G. L.: Common LISP: The Language, Digital Press, Burlington, MA, 1984.
Sutherland, I.:Formal Verification of Mathematical Software, Tech. Report RADC-TR-90-53, Odyssey Research Assoc, Inc., May 1990.
Van de Snepscheut, J. L. A.: “Algorithmsfor On-the-Fly Garbage Collection” Revisited, Information Processing Letters (24), March 1987.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Russinoff, D.M. A mechanically verified incremental garbage collector. Formal Aspects of Computing 6, 359–390 (1994). https://doi.org/10.1007/BF01211305
Received:
Accepted:
Issue Date:
DOI: https://doi.org/10.1007/BF01211305