The GC bibliography

The bibliography is available in BibTeX format (including abstracts for many entries), or as PDF or in a series of web pages

I would be most grateful to receive additions, corrections and URLs of electronically available papers.

Last updated 1 October 2024.


R


[rafk09] Jon Rafkind, Adam Wick, John Regehr, and Matthew Flatt. Precise garbage collection for C. In Kolodner and Steele [ISMM09], 2009, pages 39-48. Available here.

[ragh16] Ram Raghunathan, Stefan K. Muller, Umut A. Acar, and Guy Blelloch. Hierarchical memory management for parallel programs. In ICFP 2016 [ICFP16], 2016, pages 392-406. Available here.

[ram84] Ashwin Ram and Janak H. Patel. Parallel garbage collection without synchronization overhead. Technical Report CSG-35, University of Illinois, 1984.

[ram85] Ashwin Ram and Janak H. Patel. Parallel garbage collection without synchronization overhead. In ISCA 1985 [ISCA85], 1985, pages 84-90. Available here.

[rama06] Umakishore Ramachandran, Kathleen Knobe, Nissim Harel, and Hasnain A. Mandviwala. Distributed garbage collection algorithms for timestamped data. IEEE Transactions on Parallel and Distributed Systems, 17(10):1057-1071, October 2006. Available here.

[rama02] Y. Srinivas Ramakrishna. Automatic memory management in the Java HotSpot virtual machine. In JavaOne Conference, 2002.

[rama17] Pedro Ramalhete and Andreia Correia. Brief announcement: Hazard eras - non-blocking memory reclamation. In SPAA 2017 [SPAA17], 2017, pages 367-369. Available here.

[rame83] S. Ramesh and S.L. Mehndiratta. The liveness property of on-the-fly garbage collector - a proof. Information Processing Letters, 17(4):189-195, November 1983.

[rams24] Craig Ramsay and Rob Stewart. Cloaca: A concurrent hardware garbage collector for non-strict functional languages. In ICFP 2024 [ICFP24], 2024.

[rams01] Norman Ramsey, Simon L. Peyton Jones, C. Lindig, T. Nordin, D. Oliva, and P. Nogueira Iglesias. C{-{- Reference Manual, November 2001. Available here.

[rana83] S.P. Rana. A distributed solution to the distributed termination problem. Information Processing Letters, 17:43-46, July 1983.

[rand68] Brian Randell and C.J. Kuehner. Dynamic storage allocation systems. Communications of the ACM, 12(7):297-306, May 1968.

[rand69] Brian Randell. A note on storage fragmentation and program segmentation. Communications of the ACM, 12(7):365-372, July 1969.

[rao78] G.S. Rao. Performance analysis of cache memories. Journal of the ACM, 25(3):378-395, July 1978.

[rash87] Richard Rashid, Avadis Tevanian, Michael Young, David Golub, Robert Baron, David Black, William Bolosky, and Jonathan Chew. Machine-independent virtual memory management for paged uniprocessor and multiprocessor architectures. In ASPLOS 1987 [ASPLOS87], 1987, pages 31-39. Available here.

[rath87] B.D. Rathi, J.C. Browne, and G.J. Lipovski. Design of a self-managing secondary memory. In 20th Hawaii International Conference on System Sciences 1987. (Volume 1 = Architecture, Decision Support Systems and Knowledge-Based Systems.), pages 293-302, Kailua-Kona, HI, January 1987. Western Periodicals Co.

[rau77] B.R. Rau. Program Behavior and the Performance of Memory Systems. PhD thesis, Stanford University, 1977.

[ravi05] A. Ravindar and Y.N. Srikant. Static analysis for identifying and allocating clusters of immortal objects. In .NET Technologies 2005, Plzen, Czech Republic, 2005.

[ravi13] Tristan Ravitch and Ben Liblit. Analyzing memory ownership patterns in C libraries. In Petrank and Cheng [ISMM13], 2013. Available here.

[rea13] Philip Reames and George Necula. Towards hinted collection: Annotations for decreasing garbage collector pause times. In Petrank and Cheng [ISMM13], 2013. Available here.

[redd04] Uday Reddy. Semantic models of storage. In SPACE 2004 [SPACE04], 2004. Invited talk.

[reed79] David P. Reed and Rajendra K. Kanodia. Synchronization with eventcounts and sequencers. Communications of the ACM, 22(2):115-123, February 1979.

[reev79] C.M. Reeves. Free store distribution under random-fit allocation. Computer Journal, 22(4):346-351, November 1979.

[reev80] C.M. Reeves. Free store distribution under random-fit allocation: Part 2. Computer Journal, 23(4):298-306, November 1980.

[reev82] C.M. Reeves. A lumped-state model of clustering in dynamic storage allocation. Computer Journal, 27(2):135-142, 1982.

[reev83] C.M. Reeves. Free store distribution under random-fit allocation, part 3. Computer Journal, 26(1):25-35, February 1983.

[reic10] C. Reichenbach, Eddie Aftandilian, Nl Immerman, Sam Guyer, and Yannis Smaragdakis. What can the GC compute efficiently? a language for heap assertions at GC time. In OOPSLA 2010 [OOPSLA10], 2010. Available here.

[reid99] Alastair Reid, John McCorquodale, Jason Baker, Wilson Hsieh, and Joseph Zachary. The need for predictable garbage collection. In ACM SIGPLAN Workshop on Compiler Support for System Software (WCSSS), May 1999. Available here.

[rein73] E.M. Reingold. A non-recursive list moving algorithm. Communications of the ACM, 16(5):305-307, May 1973.

[rein93] Mark B. Reinhold. Cache Performance of Garbage-Collected Programming Languages. PhD thesis, MIT Laboratory for Computer Science, September 1993. Also Technical Memo MIT/LCS/TR-581. Available here.

[rein94] Mark B. Reinhold. Cache performance of garbage-collected programs. In PLDI 1994 [PLDI94], 1994, pages 206-217. Available here.

[rein21] Alex Reinking, Ningning Xie, Leonardo de Moura, and Daan Leijen. Perceus: Garbage free reference counting with reuse. In PLDI 2021 [PLDI21], 2021. Available here.

[reit12] Alois Reitbauer, Klaus Enzenhofer, Andreas Grabner, Michael Kopp, Stephen Pierzchala, and Steve Wilson. Java Enterprise Performance, chapter Memory Management. dybatrace, 2012. Available here.

[repp86] John H. Reppy and E.R. Gansner. Pegasus: A foundation for programming environments. Technical memorandum, AT&T Bell Laboratories, December 1986. An earlier version appeared in the 2nd ACM/SIGSOFT/SIGPLAN Symposium on Practical Software Development Environments, December 1986, 218-227.

[repp93] John H. Reppy. A high-performance garbage collector for Standard ML. Technical memorandum, AT&T Bell Laboratories, Murray Hill, NJ, December 1993. Available here.

[reyn01] John C Reynolds and Peter O'Hearn. Reasoning about shared mutable data structure. In SPACE 2001 [SPACE01], 2001. Invited talk. Available here.

[ribe89] J.C.D.F. Ribeiro, C.D. Stormon, J.V. Oldfield, and M.R. Brule. Content-addressable memories applied to execution of logic programs. IEE Proceedings, Part E: Computers and Digital Techniques, 136(5):383-388, 1989.

[ricc13] Nathan P. Ricci, Samuel Z. Guyer, and J. Eliot B. Moss. Elephant Tracks: Portable production of complete and precise GC traces. In Petrank and Cheng [ISMM13], 2013. Available here.

[ricc16] Nathan P. Ricci. Determining When Objects Die to Improve Garbage Collection. PhD thesis, Tufts University, 2016.

[rich16] Adam Richard, Lai Nguyen, Peter Shipton, Kenneth B. Kent, Azden Bierbrauer, Konstantin Nasartschuk, and Marcel Dombrowski. Inter-JVM sharing. Software: Practice and Experience, 46(9):1285-1296, 2016. Available here.

[rich00] Nicolas Richer and Marc Shapiro. The memory behaviour of the WWW, or the WWW considered as a persistent store. In Kirby et al. [POS00], 2001, pages 136-146.

[rich02] Nicolas Richer. Stratégies de Gestion Mémoire dans les Mémoires d'Objets Persistantes Automatiques Partitionnées. PhD thesis, Université Pierre et Marie Curie - Paris VI, May 2002.

[rich00b] Jeffrey Richter. Garbage collection - part 2: Automatic memory management in the Microsoft .NET framework. MSDN Magazine, 15(13):82-92, December 2000. Available here.

[rich00a] Jeffrey Richter. Garbage collection: Automatic memory management in the Microsoft .NET framework. MSDN Magazine, 15(11):82-92, November 2000. Available here.

[rich15] Stefan Richthofer. Garbage collection in JyNI - how to bridge mark/sweep and reference counting GC. In 8th European Conference on Python in Science (EuroSciPy 2015), pages 39-47, 2015. Available here.

[rido87] Olivier Ridoux. Deterministic and stochastic modeling of parallel garbage collection: Towards real-time criteria. In ISCA 1987 [ISCA87], 1976, pages 128-136.

[ripl78] G. David Ripley, Ralph E. Griswold, and David R. Hanson. Performance of storage management in an implementation of SNOBOL4. ACM Transactions on Software Engineering, SE-4(2):130-137, March 1978.

[rits14] Carl G. Ritson, Tomoharu Ugawa, and Richard Jones. Exploring garbage collection with Haswell hardware transactional memory. In Guyer and Grove [ISMM14], 2014, pages 105-115. Available here.

[ritz02] Tobias Ritzau and Peter Fritzson. Decreasing memory overhead in hard real-time garbage collection. In A. Sangiovanni-Vincentelli and J. Sifakis, editors, 2nd International Workshop on Embedded Software (EMSOFT), volume 2491 of Lecture Notes in Computer Science, Grenoble, October 2002. Springer-Verlag.

[ritz99a] Tobias Ritzau. Real-time reference counting - automatic memory management with short and predictable interruptions. In Svenska Nationella Realtidsföreningen (SNART) Conference, Linköping, August 1999.

[ritz99] Tobias Ritzau. Real-time reference counting for RT-Java. Master's thesis, Linköping University, March 1999. Licenciate thesis. In Linköping Studies in Science and Technology, No. 748. Available here.

[ritz00] Tobias Ritzau. Real-time reference counting. In Java for Embedded Systems workshop, London, May 2000. Available here.

[ritz01] Tobias Ritzau. Hard real time reference counting without external fragmentation. In Java Optimization Strategies for Embedded Systems (JOSES) workshop at ETAPS, Genoa, Italy, 2001. Available here.

[ritz03] Tobias Ritzau. Memory Efficient Hard Real-Time Garbage Collection. PhD thesis, Linköping University, May 2003. Available here.

[robe90] J. Robertson and M. Devarakonda. Data cache management using frequency-based replacement. In ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems. ACM Press, 1990.

[robe79] Edward L. Robertson. Code generation and storage allocation for machines with span-dependent instructions. ACM Transactions on Programming Languages and Systems, 1(1):71-83, July 1979.

[robe03] Sven Gestegøard Robertz and Roger Henriksson.Time-triggered garbage collection: Robust and adaptive real-time GC scheduling for embedded systems. In LCTES 2003 [LCTES03], 2003, pages 93-102. Available here.

[robe02] Sven Robertz. Applying priorities to memory allocation. In Boehm and Detlefs [ISMM02], 2002, pages 1-11. Available here.

[robe03a] Sven Gestegøard Robertz.Flexible automatic memory management for real-time and embedded systems. Master's thesis, Lund University, 2003. Lic. eng. thesis.

[robs71] J.M. Robson. An estimate of the store size necessary for dynamic storage allocation. Journal of the ACM, 18(3):416-423, July 1971. Available here.

[robs73] J.M. Robson. An improved algorithm for traversing binary trees without auxiliary stack. Information Processing Letters, 2(1):12-14, March 1973.

[robs74] J.M. Robson. Bounds for some functions concerning dynamic storage allocation. Journal of the ACM, 21(3):419-499, July 1974. Available here.

[robs77] J.M. Robson. A bounded storage algorithm for copying cyclic structures. Communications of the ACM, 20(6):431-433, June 1977. Available here.

[robs77a] J.M. Robson. Worst case fragmentation of first fit and best fit storage allocation strategies. Computer Journal, 20(3):242-244, August 1977.

[robs80] J.M. Robson. Storage allocation is NP-hard. Information Processing Letters, 11(3):119-125, November 1980. Available here.

[roch71] Arnold Rochfeld. New LISP techniques for a paging environment. Communications of the ACM, 14(12):791-795, December 1971.

[rodr96] Helena C.C.D. Rodrigues and Richard E. Jones. A cyclic distributed garbage collector for Network Objects. In Babaoglu and Marzullo [WDAG96], 1996, pages 123-140. Available here.

[rodr98] Helena C.C.D. Rodrigues and Richard E. Jones. Cyclic distributed garbage collection with group merger. In Jul [ECOOP98], 1998, pages 249-273. Also UKC Technical report 17-97, December 1997. Available here.

[rodr98a] Helena C.C.D. Rodrigues. Cyclic Distributed Garbage Collection. PhD thesis, Computing Laboratory, The University of Kent at Canterbury, 1998.

[rodr98b] Gustavo Rodriguez-Rivera, Michael Spertus, and Charles Fiterman. A non-fragmenting, non-moving garbage collector. In Peyton~Jones and Jones [ISMM98], 1998, pages 79-85. Available here.

[rodr00] Gustavo Rodriguez-Rivera, Mike Spertus, and Charles Fiterman. Conservative garbage collection for general memory allocators. In Chambers and Hosking [ISMM2000], 2000, pages 71-79. Available here.

[rodr97] Gustavo Rodriguez-Rivera and Vince Russo. Non-intrusive cloning garbage collection with stock operating system support. Software: Practice and Experience, 27(8), August 1997.

[rodr97a] Gustavo Rodriguez-Riviera and Vince Russo. Cyclic distributed garbage collection without global synchronization in CORBA. In Dickman and Wilson [OOPSLA97-gc], 1997. Available here.

[rodr95] Gustavo Rodriguez-Riviera. Cyclic distributed garbage collection without global synchronisation. PhD preliminary examination report, 1995.

[roge11] Ian Rogers. Reducing and eliding read barriers for concurrent garbage collectors. In ICOOOLPS 2011 [ICOOOLPS11], 2011. Available here.

[roh09] Yangwoo Roh, Jaesub Kim, and Kyu Ho Park. A phase-adaptive garbage collector using dynamic heap partitioning and opportunistic collection. IEICE Transactions on Information and Systems, E92-D(10):2053-2063, October 2009.

[roje96] Niklas Röjemo and Colin Runciman. Lag, drag, void, and use: heap profiling and space-efficient compilation revisited. In ICFP 1996 [ICFP96], 1996, pages 34-41. Available here.

[roje92] Niklas Röjemo. A concurrent generational garbage collector for a parallel graph reducer. In Bekkers and Cohen [IWMM92], 1992, pages 440-453. Available here.

[roje93] Niklas Röjemo. Generational garbage collection is leak-prone. Draft paper, Department of Computer Science, Chalmers University, January 1993.

[roje94] Niklas Röjemo. nhc: A space-efficient haskell compiler. In Workshop on Implementation of Functional Languages, School of Information Systems, Univ. of East Anglia, Norwich, September 1994.

[roje95a] Niklas Röjemo. Garbage Collection, and Memory Efficiency, in Lazy Functional Languages. PhD thesis, Chalmers University of Technology, Goteborg, Sweden, 1995.

[roje95] Niklas Röjemo. Generational garbage collection without temporary space leaks for lazy functional languages. In Baker [IWMM95], 1995, pages 145-162. Available here.

[roje95b] Niklas Röjemo. Highlights from nhc - a space-efficient Haskell compiler. In FPCA 1995 [FPCA95], 1995. Available here.

[rons98] Michiel Ronsse and Koen De Bosschere. JiTi: Tracing memory references for data race detection. In E. D'Hollander, F.J. Joubert, and U. Trottenberg, editors, Parallel Computing: Fundamentals, Applications and New Directions, volume 12 of Advances in Parallel Computing, pages 327-334. North Holland, February 1998. Available here.

[rose92] John H. Rose and Hans Muller. Integrating the Scheme and C languages. In LFP 1992 [LFP92], 1992, pages 247-259. Available here.

[rose90] J. Rosenberg, F.A. Henskens, A.L. Brown, Ron Morrison, and David Munro. Stability in a persistent store based on a large virtual memory. In International Workshop on Architectural Support for Security and Pe rsistence of Information, pages 229-245. Springer Verlag and the British Computer Society, 1990.

[rose87] John Rosenberg and J.L. Keedy. Object management and addressing in the MONADS architecture. In Carrick and Cooper [POS87], 1987.

[rose91] John Rosenberg. Architectural support for persistent objects. In Cabrera et al. [IWOOOS91], 1991, pages 48-60.

[ross67] D.T. Ross. The AED free storage package. Communications of the ACM, 10(8):481-492, August 1967.

[ross83] R.A. Ross. A garbage collecting associative memory for interactive database systems. In P. Degano and E. Sandewall, editors, European Conference on Integrated Interactive Computing Systems (ECICS), pages 109-123, Stresa, Italy, September 1983. Elsevier-North Holland.

[roth98] Amir Roth, Andreas Moshovos, and Gurindar S. Sohi. Dependence based prefetching for linked data structures. In ASPLOS 1998 [ASPLOS98], 1998, pages 115-126. Available here.

[roth98a] David J. Roth and David S. Wise. One-bit counts between unique and sticky. In Peyton~Jones and Jones [ISMM98], 1998, pages 49-56. Available here.

[rous75] P. Roussel. Prolog: Manuel de référence et d'utilisation. Technical report, G.I.A. Université Aix-Marseille, 1975.

[rovn85a] Paul Rovner, Roy Levin, and John Wick. On extending Modula-2 for building large, integrated systems. Technical Report 3, DEC Systems Research Center, Palo Alto, CA, Palo Alto, CA, 1985.

[rovn85] Paul Rovner. On adding garbage collection and runtime types to a strongly-typed, statically-checked, concurrent language. Technical Report CSL-84-7, Xerox PARC, Palo Alto, CA, July 1985. Available here.

[roy98] P. Roy, S. Seshadri, A. Silberschatz, S. Sudarshan, and S. Ashwin. Garbage collection in object-oriente databases using transactional cyclic reference counting. VLDB Journal: Very Large Databases, 7(3):129-193, 1998.

[RTCSA99] IEEE Press. 6th International Workshop on Real-Time Computing Systems and Applications (RTCSA), Hong Kong, 1999. IEEE Computer Society Press.

[RTCSA00] IEEE Press. 7th International Workshop on Real-Time Computing Systems and Applications (RTCSA). IEEE Computer Society Press, 2000.

[RTCSA02] IEEE Press. 8th International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA). IEEE Computer Society Press, March 2002.

[RTCSA03] IEEE Press. 9th International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA). IEEE Computer Society Press, August 2003.

[RTCSA05] IEEE Press. 11th International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA). IEEE Computer Society Press, August 2005.

[RTCSA07] IEEE Press. 13th International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA), Daegu, Korea, August 2005. IEEE Computer Society Press.

[ruby87] J. Ruby. Liveness property of a parallel algorithm. Information Processing Letters, 24(4):275-277, 1987.

[ruda86] M. Rudalics. Distributed copying garbage collection. In LFP 1986 [LFP86], 1986, pages 364-372. Available here.

[ruda90] M. Rudalics. Correctness of distributed garbage collection algorithms. Technical Report 90-40.0, Johannes Kepler Universität, Linz, 1990.

[ruf00] Erik Ruf. Effective synchronization removal for Java. In PLDI 2000 [PLDI00], 2000, pages 208-218. Available here.

[rugg88] Christina Ruggieri and Thomas P. Murtagh. Lifetime analysis of dynamically allocated objects. In POPL 1988 [POPL88], 1988, pages 285-293. Available here.

[rugg87] Christina Ruggieri. Dynamic Memory Allocation Techniques Based on the Lifetimes of Objects. PhD thesis, Purdue University, West Lafayette, IN, August 1987.

[runc95a] Colin Runciman and Niklas Röjemo. Lag, drag and post-mortem heap profiling. In Implementation of Functional Languages Workshop, Bøastad, Sweden, September 1995.

[runc96a] Colin Runciman and Niklas Röjemo. Heap profiling for space efficiency. In J. Launchbury, E. Meijer, and T. Sheard, editors, 2nd International School on Advanced Functional Programming, volume 1129 of Lecture Notes in Computer Science, pages 34-41, Olympia, WA, August 1996. Springer-Verlag. Available here.

[runc96] Colin Runciman and Niklas Röjemo. New dimensions in heap profiling. Journal of Functional Programming, 6(4):587-620, 1996. Available here.

[runc96b] Colin Runciman and Niklas Röjemo. Two-pass heap profiling - a matter of life and death. In W. Kluge, editor, Selected Papers from the 8th International Workshop on the Implementation of Functional Languages, volume 1168 of Lecture Notes in Computer Science, pages 222-232, Bonn-Bad-Godesberg, September 1996. Springer-Verlag. Available here.

[runc92] Colin Runciman and David Wakeling. Heap profiling of lazy functional programs. Technical Report YCS-92-172, University of York, 1992.

[runc93a] Colin Runciman and David Wakeling. Heap profiling of a lazy functional compiler. In GWFP 1993 [glasgow93], 1993, pages 203-214. Available here.

[runc93] Colin Runciman and David Wakeling. Heap profiling of lazy functional programs. Journal of Functional Programming, 3(2):217-245, April 1993. Available here.

[runc95] Colin Runciman. New dimensions in heap profiling. Technical Report YCS-95-256, University of York, 1995.

[runc01] Colin Runciman. Heap profiling for theoreticians. In SPACE 2001 [SPACE01], 2001. Invited talk. Available here.

[russ77] D.L. Russell. Internal fragmentation in a class of buddy systems. SIAM J. Comput., 6(4):607-621, December 1977.

[russ94] David M. Russinoff. A mechanically verified incremental garbage collector. Formal Aspects of Computing, 6(4):359-390, 1994. Available here.

[russ91] Vincent F. Russo. Garbage collecting and object-oriented operating system kernel. In Wilson and Hayes [OOPSLA91-gc], 1991. Available here.

[ryu98] Sung-Wook Ryu and B. Clifford Neuman. Garbage collection for distributed persistent objects. In Workshop on Compositional Software Architectures, Monterey, CA, January 1998. Available here.