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.


J


[jace16] Nicholas Jacek, Meng-Chieh Chiu, Benjamin Marlin, and Eliot Moss. Assessing the limits of program-specific garbage collection performance. In PLDI 2016 [PLDI16], 2016, pages 584-598. Available here.

[jace19] Nicholas Jacek, Meng-Chieh Chiu, Benjamin Marlin, and Eliot Moss. Optimal choice of when to garbage collect. ACM Transactions on Programming Languages and Systems, 41(1):3:1-3:35, January 2019. Available here.

[jace19a] Nicholas Jacek and J. Eliot B. Moss. Learning when to garbage collect with random forests. In Xu and Singer [ISMM19], 2019, pages 53-63. Available here.

[jack91] Frank Jackson. Garbage collection bugs that I have known. In Wilson and Hayes [OOPSLA91-gc], 1991. Available here.

[jack98] Paul B. Jackson. Verifying a garbage collection algorithm. In 11th International Conference on Theorem Proving in Higher Order Logics (TPHOLs), volume 1479 of Lecture Notes in Computer Science, pages 225-244, Canberra, September 1998. Springer-Verlag.

[jaco89] D. Jacobs and A. Langen. Accurate and efficient approximation of variable aliasing in logic programs. In North American Conference on Logic Programming, pages 154-165, 1989.

[jaga94] H.V. Jagadish, Daniel Lieuwen, Rajeev Rastogi, and Avi Silbersch atz. Dali: A high performance main memory storage manager. In 20th International Conference on Very Large Data Bases, 1994.

[jang19] Jaeyoung Jang, Jun Heo, Yejin Lee, Jaeyeon Won, Seonghak Kim, Sung Jun Jung, Hakbeom Jang, Tae Jun Ham, and Jae W. Lee. Charon: Specialized near-memory processing architecture for clearing dead objects in memory. In MICRO '52: Proceedings of the 52nd Annual IEEE/ACM International Symposium on Microarchitecture, pages 726-739, October 2019. Available here.

[janss92] G. Janssens and Maurice Bruynooghe. Deriving descriptions of possible values of program variables by means of abstract interpretation. Journal of Logic Programming, 13(2, 3):205-258, July 1992.

[jans86] D. Janssens. Message passing and graph transformations: a model of Actor computation. Microprocessing and Microprogramming, 18(1-5):307-318, 1986.

[jans90] G. Janssens. Deriving Run-Time Properties of Logic Programs by Means of Abstract Interpretation. PhD thesis, Katholieke University of Leuven, Belgium, 1990.

[jant15] Michael Jantz, Forrest Robinson, Prasad Kulkarni, and Kshitij Doshi. Cross-layer memory management for managed language applications. In OOPSLA 2015 [OOPSLA15], 2015. Available here.

[javarmi] Sun Microsystems. Java Remote Method Invocation Specification, November 1996.

[jaza81] Medhi Jazayeri and Diane Pozefsky. Space-efficient storage management in an attribute grammar evaluator. ACM Transactions on Programming Languages and Systems, 3(4):388-404, October 1981.

[mard22] François Pottier Jean-Marie Madiot. A separation logic for heap space under garbage collection. In POPL 2022 [POPL22], 2022.

[jeff87] D.R. Jefferson et al.. Distributed simulation and the Time Warp operating system. In 11th ACM SIGOPS Symposium on Operating Systems Principles. ACM Press, November 1987.

[jeff85] D.R. Jefferson. Virtual time. ACM Transactions on Programming Languages and Systems, 7(3):404-425, July 1985.

[jens90] Thomas P. Jensen and Torben Mogensen. A backwards analysis for compile-time garbage collection. In Jones [ESOP90], 1990, pages 227-239. Available here.

[jens90a] Thomas P. Jensen. Context analysis of functional programs. Master's thesis, Department of Computer Science (DIKU), University of Copenhagen, January 1990.

[jesc95] Eric R. Jeschke. An Architecture for Parallel Symbolic Processing based on Suspending Construction. PhD thesis, Indiana University, April 1995. Available here.

[jew87] Yanni K. Jew. Distributed garbage collection. Master's thesis, Carleton University, Canada, 1987.

[jiba11] Ivan Jibaja, Stephen M. Blackburn, Mohammad R. Haghighat, and Kathryn S. McKinley. Deferred gratification: Engineering for high performance garbage collection from the get go. In Vetter et al. [MSPC11], 2011. Available here.

[jin11] Dongyun Jin, Patrick O'Neil Meredith, Dennis Griffith, and Grigore Rosu. Garbage collection for monitoring parametric properties. In PLDI 2011 [PLDI11], 2011, pages 415-424. Available here.

[jinsight] Jinsight. Visualisation tools for Java. Available here.

[jiva10] Azeem S. Jiva and Gary R. Frost. GPU assisted garbage collection. US Patent 2010/0082930, April 2010. Available here.

[joao09] A. Joao, O. Mutlu, , and Y.N. Patt. Flexible reference-counting-based hardware acceleration for garbage collection. In ISCA 2009 [ISCA09], 2009, pages 418–-428. Available here.

[joha02] Erik Johansson, Konstantinos Sagonas, and Jesper Wilhelmsson. Heap architectures for concurrent languages using message passing. In Boehm and Detlefs [ISMM02], 2002, pages 88-99. Available here.

[john92b] Theodore Johnson and Tim Davis. Space efficient parallel buddy memory management. 1992.

[john94] Eric E. Johnson and Jiheng Ha. PDATS: Lossless address space compression for reducing file size and access time. In IEEE International Phoenix Conference on Computers and Communication, April 1994.

[john92a] Theodore Johnson and D. Sasha. Parallel buddy memory management. Parallel Processing Letters, 2(4):391-398, 1992.

[john85] Steven D. Johnson. Storage allocation for list processing. Technical Report 168, Indiana University, March 1985.

[john88] Douglas Johnson. Trap architectures for Lisp systems. Technical Report UCB/CSD/88/470, University of California, Berkeley, November 1988.

[john91] Douglas Johnson. The case for a read barrier. ACM SIGPLAN Notices, 26(4):279-287, 1991.

[john91a] Douglas Johnson. Comparing two garbage collectors. In Wilson and Hayes [OOPSLA91-gc], 1991. Available here.

[john91b] Theodore Johnson. A concurrent fast fit memory manager. Technical Report 91-009, University of Florida, 1991.

[john92] Ralph E. Johnson. Reducing the latency of a real-time garbage collector. Letters on Programming Languages and Systems, 1(1):46-58, March 1992.

[john99] Eric E. Johnson. PDATS II: Improved compression of traces. In 1999 IEEE International Performance, Computing and Communications Conference, February 1994.

[john87] Thomas Johnsson. Compiling Lazy Functional Languages. PhD thesis, Chalmers University of Technology, 1987.

[john97] Mark S. Johnstone and Paul R. Wilson. The memory fragmentation problem: Solved?. In Dickman and Wilson [OOPSLA97-gc], 1997. Available here.

[john98] Mark S. Johnstone and Paul R. Wilson. The memory fragmentation problem: Solved?. In Peyton~Jones and Jones [ISMM98], 1998, pages 26-36. Available here.

[john97a] Mark S. Johnstone. Non-Compacting Memory Allocation and Real-Time Garbage Collection. PhD thesis, University of Texas at Austin, December 1997. Available here.

[jois06] Pramod Joisha. Compiler optimizations for non-deferred reference-counting garbage collection. In Petrank and Moss [ISMM06], 2006, pages 150-161. Available here.

[jois07] Pramod Joisha. Overlooking roots: A framework for making nondeferred reference-counting garbage collection fast. In Morrisett and Sagiv [ISMM07], 2007, pages 141-158. Available here.

[jois08] Pramod Joisha. A principled approach to nondeferred reference-counting garbage collection. In Gregg et al. [VEE08], 2008. Available here.

[jois14] Pramod G. Joisha. Sticky tries: Fast insertions, fast lookups, no deletions for large key universes. In Guyer and Grove [ISMM14], 2014, pages 35-46. Available here.

[joki89] M.O. Jokinen. Customizable garbage collectors. Information Processing Letters, 30(3):115-118, February 1989.

[GCpage] Richard Jones. The garbage collection page. Available here.

[jone11] Richard Jones, Antony Hosking, and Eliot Moss. The Garbage Collection Handbook: The Art of Automatic Memory Management. CRC Applied Algorithms and Data Structures. Chapman & Hall, January 2012.

[jone23] Richard Jones, Antony Hosking, and Eliot Moss. The Garbage Collection Handbook: The Art of Automatic Memory Management. CRC Applied Algorithms and Data Structures. CRC Press, second edition, June 2023. Available here.

[jone95a] Richard W.M. Jones and Paul H.J. Kelly. Bounds checking for C. Technical report, Imperial College London, 1995. Available here.

[jone04] Richard E. Jones and Andy C. King. Collecting the garbage without blocking the traffic. Technical Report 18-04, Computing Laboratory, University of Kent, September 2004. This report summarises [king04]. Available here.

[jone05] Richard E. Jones and Andy C. King. A fast analysis for thread-local garbage collection with dynamic class loading. In 5th IEEE International Workshop on Source Code Analysis and Manipulation (SCAM), pages 129-138, Budapest, September 2005. IEEE Computer Society Press. This is a shorter version of [jone04]. Available here.

[jone88] Simon B. Jones and D. le Métayer. Optimisation of storage management in functional languages by static analysis of programs. In Hall et al. [glasgow88], 1988, pages 87-100.

[jone89] Simon B. Jones and D. le Métayer. Compile-time garbage collection by sharing analysis. In FPCA 1989 [FPCA89], 1989, pages 54-74.

[jone92] Richard E. Jones and Rafael D. Lins. Cyclic weighted reference counting without delay. Technical Report 28-92, Computing Laboratory, The University of Kent at Canterbury, December 1992. Available here.

[jone93] Richard E. Jones and Rafael D. Lins. Cyclic weighted reference counting without delay. In Bode et al. [PARLE93], 1993, pages 712-715. Available here.

[jone81] Neil D. Jones and Steven S. Muchnick. Flow analysis and optimization of LISP-like structures. In Program Flow Analysis: Theory and Applications, pages 102-131. Prentice-Hall, 1981.

[jone06] Richard Jones and Chris Ryder. Garbage collection should be lifetime aware. In Zendra [ICOOOLPS06], 2006, page 8. Available here.

[jone08] Richard Jones and Chris Ryder. A study of Java object demographics. In Jones and Blackburn [ISMM08], 2008, pages 121-130. Available here.

[jone93a] Simon B. Jones and Andrew S. Tyas. The implementer's dilemma: A mathematical model of compile-time garbage collection. In GWFP 1993 [glasgow93], 1993, pages 139-144. Available here.

[jone90] Simon B. Jones and M. White. Is compile time garbage collection worth the effort. In Peyton Jones et al. [glasgow90], 1991, pages 172-176.

[jone19] Cliff B. Jones and Nisansala Yatapanage. Investigating the limits of rely/guarantee relations based on a concurrent garbage collector example. Formal Aspects of Computing, 31(3):353-374, February 2019. Available here.

[jone92a] Richard E. Jones. Tail recursion without space leaks. Journal of Functional Programming, 2(1):73-79, January 1992.

[jone95] Simon B. Jones. An experiment in compile time garbage collection. Technical Report 84, Programming Methodology Group, Göteborg University and Chalmers University of Technology, January 1995.

[jone96] Richard E. Jones. Garbage Collection: Algorithms for Automatic Dynamic Memory Management. Wiley, Chichester, July 1996. With a chapter on Distributed Garbage Collection by R. Lins. Available here.

[GCbib] Richard Jones. The garbage collection bibliography. The definitive GC bibliography, 1996-2024. Available here.

[jone06a] Richard Jones. Five perspectives on modern memory management: Systems, hardware and theory. Science of Computer Programming, 62(2):95-204, October 2006. Available here.

[jone07] Richard Jones. Dynamic memory management: Challenges for today and tomorrow. In International Lisp Conference, pages 115-124, Cambridge, April 2007. Association of Lisp Users. Invited presentation. Available here.

[jonk92] J.E. Jonker. On-the-fly garbage collection for several mutators. Distributed computing, 5(4):187-200, April 1992.

[jonk79] H.B.M. Jonkers. A fast garbage compaction algorithm. Information Processing Letters, 9(1):26-30, July 1979. Available here.

[jonk83] H.B.M. Jonkers. Abstraction, Specification and Implementation Techniques: With an Application to Garbage Collection. Mathematical Centre, Amsterdam, the Netherlands, 1983.

[mont23] Sebastian Jordan Montaño, Guillermo Polito, Stephane Ducasse, and Pablo Tesone. Evaluating finalization-based object lifetime profiling. In Bond et al. [ISMM24], 2024, pages 30–-42. Available here.

[jord78] M.J. Jordan. Slp: A paged processor for compact lists. Software: Practice and Experience, 8(3):285-301, 1978.

[jost04] Steffen Jost. lfd\_infer: An implementation of a static inference on heap space usage. In SPACE 2004 [SPACE04], 2004.

[joup90] Norman P. Jouppi. Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffers. In ISCA 1990 [ISCA90], 1990, pages 346-373.

[joup93] Norman P. Jouppi. Cache write policies and performance. In ISCA 1993 [ISCA93], 1993, pages 191-201.

[joy00] Bill Joy, Guy Steele, James Gosling, and Gilad Bracha. The Java Language Specification. Addison-Wesley, second edition edition, June 2000.

[jpda] Sun Microsystems. Java Platform Debugger Architecture (JPDA). http://java.sun.com/j2se/1.3/docs/guide/jpda/. Available here.

[jprobe] Sitraka Inc. The JProbe Profiler. http://www.jprobe.com. Available here.

[jrockit] BEA Systems Inc. Understanding Memory Management, 2008. The BEA JRockit JVM R27.6. Available here.

[JTRES03] International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES), volume 2889 of Lecture Notes in Computer Science. Springer, 2003.

[JTRES04] R. Meersman, Z. Tari, and A. Corsaro, editors. 2nd International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES), volume 3292 of Lecture Notes in Computer Science, Heidelburg, Germany, October 2004. Springer.

[JTRES05] 3rd International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES), San Diego, CA, 2005.

[JTRES07] 5th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES), Vienna, Austria, September 2007. ACM Press.

[JTRES08] 6th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES), Santa Clara, CA, September 2008. ACM Press.

[JTRES09] 7th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES), Madrid, Spain, September 2009. ACM Press.

[JTRES10] 10th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES), Prague, September 2010. ACM Press.

[JTRES11] 9th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES), York, September 2011. ACM Press.

[JTRES14] 12th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES), Niagara Falls, NY, October 2014. ACM Press.

[juil07] Nicolas Juillerat, Stefan Müller Arisona, and Simon Schubiger-Banz. Real-time, low latency audio processing in Java. In International Computer Music Conference, ICMC 2007, Copenhagen, Denmark, August 2007. Available here.

[jul87] Eric Jul, Henry Levy, Norman Hutchinson, and Andrew Black. Fine-grained mobility in the Emerald system. In 11th ACM SIGOPS Symposium on Operating Systems Principles, pages 105-106. ACM Press, December 1987. See also [jul88].

[jul88] Eric Jul, Henry Levy, Norman Hutchinson, and Andrew Black. Fine-grained mobility in the Emerald system. ACM Transactions on Computer Systems, 6(1):109-133, January 1988.

[jul88a] Eric Jul. Object Mobility in a Distributed Object-Oriented System. PhD thesis, Department of Computer Science, University of Washington, Seattle, WA, December 1988. Technical Report 88-12-6. Also DIKU Report (Blue Series) 89/1, Department of Computer Science, University of Copenhagen, Denmark.

[jula09] Alin Jula and Lawrence Rauchwerger. Two memory allocators that use hints to improve locality. In Kolodner and Steele [ISMM09], 2009, pages 109-118. Available here.

[juli85] Danielle Julien. Etude et Réalisation de la Machine Virtuelle LILA Adaptée à l'Écriture d'Interprètes. PhD thesis, Université Paul Sabatier, Toulouse, France, May 1985.

[jump04] Maria Jump, Stephen M. Blackburn, and Kathryn S. McKinley. Dynamic object sampling for pretenuring. In Bacon and Diwan [ISMM04], 2004, pages 152-162. Available here.

[jump07] Maria Jump and Kathryn S. McKinley. Cork: Dynamic memory leak detection for garbage-collected languages. In POPL 2007 [POPL07], 2007, pages 31-38. Available here.

[jump09] Maria Jump and Kathryn S. McKinley. Dynamic shape analysis via degree metrics. In Kolodner and Steele [ISMM09], 2009, pages 119-128. Available here.

[jump10] Maria Jump and Kathryn S. McKinley. Detecting memory leaks in managed languages with cork. Software: Practice and Experience, 40(1):1-22, January 2010. Available here.

[jung24] Jaehwang Jung, Jeonghyeon Kim, Matthew J. Parkinson, and Jeehoon Kang. Concurrent immediate reference counting. In PLDI 2024 [PLDI24], 2024, pages 151-174. Available here.

[jung08] Yungbum Jung and Kwangkeun Yi. Practical memory leak detector based on parameterized procedural summaries. In Jones and Blackburn [ISMM08], 2008, pages 131-140. Available here.

[juul92] Neils-Christian Juul and Eric Jul. Comprehensive and robust garbage collection in a distributed system. In Bekkers and Cohen [IWMM92], 1992, pages 103-115. Available here.

[juul90a] Nils Christian Juul. A distributed, faulting garbage collector for Emerald. In Jul and Juul [OOPSLA90-gc], 1990. Available here.

[juul90] Nils Christian Juul. Report on the 1990 workshop on garbage collection in object-oriented systems. In OOPSLA 1990 [OOPSLA90], 1990. Addendum. Available here.

[juul92a] Niels Christian Juul. Comprehensive, Concurrent, and Robust Garbage Collection in the Distributed, Object-Based System, Emerald. PhD thesis, Department of Computer Science (DIKU), University of Copenhagen, 1992.

[JVM01] 1st Java Virtual Machine Research and Technology Symposium, Monterey, CA, April 2001. USENIX Association. Available here.

[JVM02] 2nd Java Virtual Machine Research and Technology Symposium, San Francisco, CA, August 2002. USENIX Association. Available here.

[JVM04] 3rd Java Virtual Machine Research and Technology Symposium, San Jose, CA, May 2004. USENIX Association. Available here.

[jvmpi] Sun Microsystems. Java Virtual Machine Profiling Interface (JVMPI). http://java.sun.com/j2se/1.3/docs/guide/jvmpi/. Available here.