Skip to main content
Log in

A mechanically verified incremental garbage collector

  • Published:
Formal Aspects of Computing

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Ben-Ari, M.:Algorithms for On-the-Fly Garbage Collection, ACM Toplas 6, July 1984.

  2. 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.

    Google Scholar 

  3. Boyer, R. S. and Moore, J. S.: A Computational Logic, Academic Press, New York, 1979.

    Google Scholar 

  4. Boyer, R. S. and Moore, J,: A Computational Logic Handbook, Academic Press, Boston, 1988.

    Google Scholar 

  5. 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.

  6. 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.

    Google Scholar 

  7. Manna, Z. and Pnueli, A.:Adequate Proof Principles for Invariance and Liveness Properties of Concurrent Programs, Science of Computer Programming 4 (1984), North-Holland.

  8. Pixley, C.:An Incremental Garbage Collection Algorithm for Multi-mutator Systems, Distributed Computing (3), 1988.

  9. Ramsey, N.:Developing Formally Verified Ada Programs, Proceeding of the Fifth International Conference on Software Specification and Design, May 1989.

  10. Russinoff, D. M.:Verifying Concurrent Programs with the Boyer-Moore Prover, Tech. Report STP/ACT-218-90, MCC, Austin, TX, 1990.

    Google Scholar 

  11. Russinoff, D. M.:A Verification System for Concurrent Programs Based on the Boyer-Moore Prover, Formal Aspects of Computing, 4, 597–611 (1992).

    Google Scholar 

  12. Steele, G. L.: Common LISP: The Language, Digital Press, Burlington, MA, 1984.

    Google Scholar 

  13. Sutherland, I.:Formal Verification of Mathematical Software, Tech. Report RADC-TR-90-53, Odyssey Research Assoc, Inc., May 1990.

  14. Van de Snepscheut, J. L. A.: “Algorithmsfor On-the-Fly Garbage Collection” Revisited, Information Processing Letters (24), March 1987.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01211305

Keywords

Navigation