{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,8]],"date-time":"2026-01-08T23:54:49Z","timestamp":1767916489054,"version":"3.49.0"},"reference-count":10,"publisher":"Wiley","issue":"7","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":6695,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1988,7]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Modern high\u2010level languages frequently need to collect garbage not only from regions of linked structures similar to LISP's dotted pairs, but also from string regions where data is organized as an array of characters. Some characteristics of string regions that make garbage collection particularly difficult are as follows: multiple pointers to the same characters within the array are allowed and encouraged; all possible character values are legitimate as data, so it is not possible to \u2018mark\u2019 a string by overwriting with a reserved character; and a character is generally much smaller than a pointer, so it is not possible to overwrite a single character value with a forwarding pointer to a new location for a particular string. This paper describes the addition of certain information to a string descriptor and enhancements to existing copying garbage collection algorithms that permit linked data structures and strings to be allocated and garbage collected from a shared region of memory in real time. This algorithm is real\u2010time in the sense that the time required for allocation of each basic unit of memory is bounded by a constant. An analysis of performance is reported, and comparisons are made with traditional garbage collection.<\/jats:p>","DOI":"10.1002\/spe.4380180704","type":"journal-article","created":{"date-parts":[[2006,11,17]],"date-time":"2006-11-17T20:46:19Z","timestamp":1163796379000},"page":"613-640","source":"Crossref","is-referenced-by-count":21,"title":["Garbage collection of strings and linked data structures in real time"],"prefix":"10.1002","volume":"18","author":[{"given":"K.","family":"Nilsen","sequence":"first","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","volume-title":"The Icon Programming Language","author":"Griswold R. E.","year":"1983"},{"key":"e_1_2_1_3_2","volume-title":"The SNOBOL4 Programming Language","author":"Griswold R. E.","year":"1971"},{"key":"e_1_2_1_4_2","unstructured":"K.Nilsen \u2018The CommSpeak language reference manual\u2019 The University of Arizona Tech. Rep. 87\u20134 Tucson Arizona 1987."},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1145\/356850.356854"},{"key":"e_1_2_1_6_2","volume-title":"The Art of Computer Programming, Volume I: Fundamental algorithms","author":"Knuth D. E.","year":"1973"},{"key":"e_1_2_1_7_2","volume-title":"The Implementation of The Icon Programming Language","author":"Griswold R. E.","year":"1986"},{"key":"e_1_2_1_8_2","volume-title":"A Compiler Generator","author":"McKeeman W. M.","year":"1970"},{"key":"e_1_2_1_9_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380070206"},{"key":"e_1_2_1_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/359460.359470"},{"key":"e_1_2_1_11_2","doi-asserted-by":"publisher","DOI":"10.1093\/comjnl\/27.2.97"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380180704","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380180704","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,9,26]],"date-time":"2023-09-26T22:30:06Z","timestamp":1695767406000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380180704"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1988,7]]},"references-count":10,"journal-issue":{"issue":"7","published-print":{"date-parts":[[1988,7]]}},"alternative-id":["10.1002\/spe.4380180704"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380180704","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1988,7]]}}}