{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,23]],"date-time":"2025-06-23T09:26:32Z","timestamp":1750670792240},"reference-count":14,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[1994,7,1]],"date-time":"1994-07-01T00:00:00Z","timestamp":773020800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Form. Asp. Comput."],"published-print":{"date-parts":[[1994,7]]},"abstract":"<jats:title>Abstract<\/jats:title>\n          <jats:p>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.<\/jats:p>","DOI":"10.1007\/bf01211305","type":"journal-article","created":{"date-parts":[[2005,2,25]],"date-time":"2005-02-25T22:17:40Z","timestamp":1109369860000},"page":"359-390","source":"Crossref","is-referenced-by-count":42,"title":["A mechanically verified incremental garbage collector"],"prefix":"10.1145","volume":"6","author":[{"given":"David M.","family":"Russinoff","sequence":"first","affiliation":[{"name":"Computational Logic, Inc., 1717 West Sixth Street Suite 290, 78703-4776, Austin, TX, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","reference":[{"key":"e_1_2_1_2_1_2","doi-asserted-by":"crossref","unstructured":"Ben-Ari M.: Algorithms for On-the-Fly Garbage Collection ACM Toplas 6 July 1984.","DOI":"10.1145\/579.587"},{"key":"e_1_2_1_2_2_2","volume-title":"Tech. Report 44","author":"Boyer R. S.","year":"1989"},{"key":"e_1_2_1_2_3_2","volume-title":"A Computational Logic","author":"Boyer R. S.","year":"1979"},{"key":"e_1_2_1_2_4_2","doi-asserted-by":"publisher","DOI":"10.5555\/50756"},{"key":"e_1_2_1_2_5_2","doi-asserted-by":"crossref","unstructured":"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.","DOI":"10.1145\/359642.359655"},{"key":"e_1_2_1_2_6_2","volume-title":"The Correctness Problem in Computer Science","author":"Manna Z.","year":"1981"},{"key":"e_1_2_1_2_7_2","doi-asserted-by":"crossref","unstructured":"Manna Z. and Pnueli A.: Adequate Proof Principles for Invariance and Liveness Properties of Concurrent Programs Science of Computer Programming 4 (1984) North-Holland.","DOI":"10.1016\/0167-6423(84)90003-0"},{"key":"e_1_2_1_2_8_2","doi-asserted-by":"crossref","unstructured":"Pixley C.: An Incremental Garbage Collection Algorithm for Multi-mutator Systems Distributed Computing (3) 1988.","DOI":"10.1007\/BF01788566"},{"key":"e_1_2_1_2_9_2","doi-asserted-by":"crossref","unstructured":"Ramsey N.: Developing Formally Verified Ada Programs Proceeding of the Fifth International Conference on Software Specification and Design May 1989.","DOI":"10.1145\/75199.75238"},{"key":"e_1_2_1_2_10_2","volume-title":"Tech. Report STP\/ACT-218-90","author":"Russinoff D. M.","year":"1990"},{"key":"e_1_2_1_2_11_2","doi-asserted-by":"publisher","DOI":"10.1007\/BF03180564"},{"key":"e_1_2_1_2_12_2","doi-asserted-by":"publisher","DOI":"10.5555\/33425"},{"key":"e_1_2_1_2_13_2","unstructured":"Sutherland I.: Formal Verification of Mathematical Software Tech. Report RADC-TR-90-53 Odyssey Research Assoc Inc. May 1990."},{"key":"e_1_2_1_2_14_2","doi-asserted-by":"crossref","unstructured":"Van de Snepscheut J. L. A.: \u201cAlgorithms for On-the-Fly Garbage Collection\u201d Revisited Information Processing Letters (24) March 1987.","DOI":"10.1016\/0020-0190(87)90135-9"}],"container-title":["Formal Aspects of Computing"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/BF01211305.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/BF01211305\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1007\/BF01211305","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,1,6]],"date-time":"2022-01-06T15:19:01Z","timestamp":1641482341000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1007\/BF01211305"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1994,7]]},"references-count":14,"journal-issue":{"issue":"4","published-print":{"date-parts":[[1994,7]]}},"alternative-id":["10.1007\/BF01211305"],"URL":"https:\/\/doi.org\/10.1007\/bf01211305","relation":{},"ISSN":["0934-5043","1433-299X"],"issn-type":[{"value":"0934-5043","type":"print"},{"value":"1433-299X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1994,7]]}}}