the Garbage Collection Bibliography

This bibliography may be freely used for non-commercial purposes. It may also be freely distributed provided that this notice is included. I would be most grateful to receive additions, corrections and URLs of electronically available papers. The full bibliography is also available in compressed BibTeX (140k) and PDF forms.

Further GC-related material can be found on the Garbage Collection page.

Richard Jones

Copyright ©1996-2013 Richard Jones

Last updated 22 June 2016.

[A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z]


G


[boll05] Bollella G, Delsart B, Guider R, Lizzi C, and Parain F. Mackinac: Making Hotspot real-time. In ISORC 2005 [ISORC05], 2005, pages 45-54. Available here.


[gabr82] Richard P. Gabriel and L. M. Mansinter. Performance of Lisp systems. In LFP 1982 [LFP82], 1982, pages 123-142. Available here.


[gabr85] Richard P. Gabriel. Performance and Evaluation of Lisp Systems. MIT Press Series in Computer Science. MIT Press, Cambridge, MA, 1985.


[gai85] S. Gai and M. Mezzalama. Dynamic storage allocation: Experiments using the C language. Software: Practice and Experience, 15(7):693-704, July 1985.


[gamm15] Peter Gammie, Antony L. Hosking, and Kai Engelhardt. Relaxing safely: Verified on-the-fly garbage collection for x86-TSO. In PLDI 2015 [PLDI15], 2015. Available here.


[gane94] Ravichandran Ganesan. Local variable allocation for accurate garbage collection of C++. Master's thesis, Iowa State University, July 1994. Technical Report ISUTR 94-12. Available here.


[gann88] D. Gannon, W. Jalby, and K. Gallivan. Strategies for cache and local memory management by global program transformation. Journal of Parallel and Distributed Computing, 5:587-616, 1988.


[gao13] Tiejun Gao, Karin Strauss, Stephen M. Blackburn, Kathryn S. McKinley, Doug Burger, and James Larus. Using managed runtime systems to tolerate holes in wearable memories. In PLDI 2013 [PLDI13], 2013. Available here.


[gao94] Hong Gao and Kelvin Nilsen. Reliable general purpose dynamic memory management for real-time systems. Technical Report TR94-09, Iowa State University, July 1994. Available here.


[gare72] M. R. Garey, R. L. Graham, and Jeffrey D. Ullman. Worst-case analysis of memory allocation algorithms. In 4th Annual ACM Symposium on the Theory of Computing. ACM Press, 1972.


[garn07] Robin Garner, Stephen M. Blackburn, and Daniel Frampton. Effective prefetch for mark-sweep garbage collection. In Morrisett and Sagiv [ISMM07], 2007, pages 43-54. Available here.


[garn11] Robin J. Garner, Stephen M. Blackburn, and Daniel Frampton. A comprehensive evaluation of object scanning techniques. In Boehm and Bacon [ISMM11], 2011, pages 33-42. Available here.


[garn03] Robin J. Garner. JMTk: A portable memory management toolkit. Bachelor of science (honours) thesis, Australian National University, December 2003. Available here.


[garn03a] Robin J. Garner. Porting the JMTk memory management toolkit. Technical report, Australian National University, 2007. Available here.


[garn12] Robin Garner. The Design and Construction of High Performance Garbage Collectors. PhD thesis, Australian National University, May 2012. Available here.


[garn80] N. H. Garnett and Roger M. Needham. An asynchronous garbage collector for the Cambridge file server. ACM SIGOPS Operating Systems Review, 14(4):36-40, 1980.


[gart05] Alex Garthwaite, Dave Dice, and Derek White. Supporting per-processor local-allocation buffers using lightweight user-level preemption notification. In Hind and Vitek [VEE05], 2005, pages 24-34. Available here.


[gart06] Alexander T. Garthwaite, David L. Detlefs, Antonios Printezis, and Y. Srinivas Ramakrishna. Method and mechanism for finding references in a card in time linear in the size of the card in a garbage-collected heap. United States Patent 7,136,887 B2, Sun Microsystems, November 2006.


[gart97] Alex Garthwaite and Scott Nettles. Concurrent collection for the Java Development Kit. In Dickman and Wilson [OOPSLA97-gc], 1997. Available here.


[gart98] Alex Garthwaite and Scott Nettles. TJava: a transactional Java. In IEEE International Conference on Computer Languages. IEEE Press, 1998.


[gart01] Alex Garthwaite. Memory management = partitioning + alpha-renaming. In SPACE 2001 [SPACE01], 2001. Available here.


[gart05a] Alex Garthwaite. Making the Trains Run On Time. PhD thesis, University of Pennsylvania, 2005.


[gay98] David Gay and Alexander Aiken. Memory management with explicit regions. In PLDI 1998 [PLDI98], 1998, pages 313-323. Available here.


[gay01] David Gay and Alexander Aiken. Language support for regions. In PLDI 2001 [PLDI01], 2001, pages 70-80. Available here.


[gay98a] David Gay and Bjarne Steensgaard. Stack allocating objects in Java. Technical report, Microsoft Research, October 1998. Available here.


[gay00] David Gay and Bjarne Steensgaard. Fast escape analysis and stack allocation for object-based programs. In CC 2000 [CC00], 2000, pages 82-93. Available here.


[gay01a] David Gay. A type system for reference-counted regions. In SPACE 2001 [SPACE01], 2001. Available here.


[OOPSLA90-gc] Eric Jul and Niels-Christian Juul, editors. OOPSLA/ECOOP Workshop on Garbage Collection in Object-Oriented Systems, Ottawa, Canada, October 1990. Available here.


[OOPSLA91-gc] Paul R. Wilson and Barry Hayes, editors. OOPSLA Workshop on Garbage Collection in Object-Oriented Systems, October 1991. Available here.


[OOPSLA93-gc] J. Eliot B. Moss, Paul R. Wilson, and Benjamin Zorn, editors. OOPSLA Workshop on Garbage Collection in Object-Oriented Systems, October 1993. Available here.


[OOPSLA97-gc] Peter Dickman and Paul R. Wilson, editors. OOPSLA Workshop on Garbage Collection and Memory Management, October 1997. Available here.


[gee93] Jeffrey D. Gee, Mark D. Hill, Dionisios N. Pnevmatikatos, and Alan J. Smith. Cache performance of the SPEC92 benchmark suite. IEEE Micro, 13(4):17-27, 1993.


[gehr93] Edward F. Gehringer and J. Morris Chang. Hardware-assisted memory managementhardware-assisted memory management. In Moss et al. [OOPSLA93-gc], 1993. Available here.


[gele71] E. Gelenbe. The two-thirds rule for dynamic storage allocation under equilibrium. Information Processing Letters, 1:59-60, 1971.


[gele60] H. Gelernter, J. R. Hansen, and C. L. Gerberich. A Fortran-compiled list processing language. Journal of the ACM, 7(2):87-101, April 1960.


[geof08] N. Geoffray, G. Thomas, C. Clémentand, and B. Folliot. A lazy developer approach: Building a JVM with third party software. In PPPJ 2008 [PPPJ08], 2008, pages 73-82.


[geof10] Nicolas Geoffray, Gaël Thomas, Julia Lawall, Gilles Muller, and Bertil Folliot. VMKit: a substrate for managed runtime environments. In Fiuczynski et al. [VEE10], 2010, pages 51-61. Available here.


[geor04] Andy Georges, Dries Buytaert, Lieven Eeckhout, and Koen De Bosschere. Method-level phase behavior in Java workloads. In OOPSLA 2004 [OOPSLA04], 2004, pages 270-287. Available here.


[geor07] Andy Georges, Dries Buytaert, and Lieven Eeckhout. Statistically rigorous Java performance evaluation. In OOPSLA 2007 [OOPSLA07], 2007, pages 57-76. Available here.


[geor08] Andy Georges, Lieven Eeckhout, and Dries Buytaert. Java performance evaluation through rigorous replay compilation. In OOPSLA 2008 [OOPSLA08], 2008, pages 367-384. Available here.


[gerh79] S. L. Gerhart. A derivation oriented proof of Schorr-Waite marking algorithm. Lecture Notes in Computer Science, 69:472-492, 1979.


[ghar] Bashar Gharaibeh and J. Morris Chang. Meaningful object lifetime measurement for multithreaded applications. Technical report, Iowa State University, 2009. Available here.


[gheo03] Ovidiu Gheorghioiu, Alexandru Salcianu, and Martin Rinard. Interprocedural compatibility analysis for static object preallocation. In POPL 2003 [POPL03], 2003. Available here.


[ghes03a] T. Ghesquiere, J.-D. Choi, and K. De Bosschere. Accurate replay of memory management in Java. In 4th FTW PhD Symposium, Gent, Belgium, December 2003.


[ghes03] T. Ghesquiere, J.-D. Choi, and K. De Bosschere. Memory management replay in DejaVu. In Program Acceleration through Application and Architecture driven Code Transformations: Symposium Proceedings, pages 113-115, Edegem, Belgium, September 2003.


[ghiy01] Rakesh Ghiya, Daniel M. Lavery, and David C. Sehr. On the importance of points-to analysis and other memory disambiguation methods for C programs. In PLDI 2001 [PLDI01], 2001, pages 47-58. Available here.


[ghos94] Kaushik Ghosh. Reconfigurable garbage collection of data structures in a speculative real-time system. Technical Report GIT-CC-94-57, Georgia Institute of Technology, 1994. Available here.


[gibb05] Celina Gibbs and Yvonne Coady. Aspects of memory management. In 38th Annual Hawaii International Conference on System Sciences (HICSS) - Track 9, page 275.2, 2005.


[gidr11] Lokesh Gidra, Gaël Thomas, Julien Sopena, and Marc Shapiro. Assessing the scalability of garbage collectors on many cores. In 6th Workshop on Programming Languages and Operating Systems (PLOS 2011), page 5, Cascais, Portugal, October 2011. ACM Press. Available here.


[gidr13] Lokesh Gidra, Gaël Thomas, Julien Sopena, and Marc Shapiro. A study of the scalability of stop-the-world garbage collectors on multicores. In Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 229-240, Houston, Texas, 2013. ACM Press. Available here.


[gidr15] Lokesh Gidra, Gaël Thomas, Julien Sopena, Marc Shapiro, and Nhan Bguyen. NumaGiC: a garbage collector for big data on big NUMA machines. In Proceedings of the Seventeenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), Istanbul, Turkey, March 2015. Available here.


[gill] Richard Gillam. An introduction to garbage collection. Available here.


[gint91] Andrew Ginter. Cooperative garbage collection using smart pointers in the C++ programming language. Master's thesis, University of Calgary, December 1991. Technical report 91/451/45.


[gira87] J.-Y. Girard. Linear logic. Theoretical Computer Science, 50:1-102, 1987.


[glas89] Hugh W. Glaser, Michael Reeve, and S. Wright. An analysis of reference count garbage collection schemes for declarative languages. Technical report, Department of Computing, Imperial College, London, 1989.


[glas86] Hugh W. Glaser and S. Hayes. Another implementation technique for applicative languages. In Robinet and Wilhelm [ESOP86], 1986, pages 70-81. Available here.


[glas87] Hugh W. Glaser and P. Thompson. Lazy garbage collection. Software: Practice and Experience, 17(1):1-4, January 1987.


[glas87a] Hugh W. Glaser. On minimal overhead reference count garbage collection in distributed systems. Technical report, Department of Computing, Imperial College, London, 1987.


[goa95] H. Goa and Kelvin Nielsen. The real-time behaviour of dynamic memory management in C++. In Real-Time Techniques and Applications Symposium, Chicago, IL, May 1995.


[goet03] Brian Goetz. Java theory and practice: A brief history of garbage collection, October 2003. First of a series of three articles. Available here.


[goet03a] Brian Goetz. Java theory and practice: Garbage collection in the 1.4.1 JVM, November 2003. Second of a series of three articles. Available here.


[goet04] Brian Goetz. Java theory and practice: Garbage collection and performance, January 2004. Last of a series of three articles. Available here.


[gogu98] Healfdene Goguen, Richard Brooksby, and Rod Burstall. An abstract formulation of memory management, December 1998. draft. Available here.


[gogu99] Healfdene Goguen, Richard Brooksby, and Rod M. Burstall. Memory management: An abstract formulation of incremental tracing. In Types for Proofs and Programs, International Workshop TYPES'99, pages 148-161. Springer, 2000.


[goh06] O. Goh, Yann-Hang Lee, Z. Kaakani, and E. Rachlin. Integrated scheduling with garbage collection for real-time embedded applications in CLI. In ISORC 2006 [ISORC06], 2006. Available here.


[gold92] Benjamin Goldberg and Michael Gloger. Polymorphic type reconstruction for garbage collection without tags. In LFP 1992 [LFP92], 1992, pages 53-65. Available here.


[gold74] Ron P. Goldberg and R. Hassinger. The double paging anomaly. In AFIPS National Computer Conference, pages 195-199, May 1974.


[gold83] Adele Goldberg and D. Robson. Smalltalk-80: The Language and its Implementation. Addison-Wesley, 1983.


[gold89] Benjamin Goldberg. Generational reference counting: A reduced-communication distributed storage reclamation scheme. In PLDI 1989 [PLDI89], 1989, pages 313-320. Available here.


[gold91] Benjamin Goldberg. Tag-free garbage collection for strongly typed programming languages. In PLDI 1991 [PLDI91], 1991, pages 165-176. Available here.


[gold92a] Benjamin Goldberg. Incremental garbage collection without tags. In ESOP 1992 [ESOP92], 1992, pages 200-218. Available here.


[gold92b] Richard A. Golding. Weak-Consistency Group Communication and Membership. PhD thesis, University of California, Santa Cruz, December 1992. UCSC-CRL-92-52.


[gold88] Ron Goldman and Richard P. Gabriel. Preliminary results with the initial implementation of Qlisp. In LFP 1988 [LFP88], 1988, pages 143-152. Available here.


[gonc94] Marcelo J. R. Gonçalves and Andrew W. Appel. Cache performance of fast-allocating programs. Technical Report CS-TR-482-94, Department of Computer Science, Princeton University, December 1994. Available here.


[gonc95] Marcelo J. R. Gonçalves and Andrew W. Appel. Cache performance of fast-allocating programs. In FPCA 1995 [FPCA95], 1995, pages 293-305. Available here.


[gonc95a] Marcelo J. R. Gonçalves. Cache Performance of Programs with Intensive Heap Allocation and Generational Garbage Collection. PhD thesis, Department of Computer Science, Princeton University, May 1995.


[gont96] Georges Gonthier. Verifying the safety of a practical concurrent garbage collector. In R. Alur and T. Henzinger, editors, Computer Aided Verification CAV'96, Lecture Notes in Computer Science, New Brunswick, NJ, 1996. Springer-Verlag.


[gorm08] Mel Gorman and Patrick Healy. Supporting superpage allocation without additional hardware support. In Jones and Blackburn [ISMM08], 2008, pages 41-50. Available here.


[gosl97] James Gosling, Bill Joy, and Guy Steele. The Java Language Specification. The Java Series. Addison-Wesley, 1997. Available here.


[gosl05] James Gosling, Bill Joy, Guy Steele, and Gilad Bracha. The Java Language Specification. Addison-Wesley, third edition, May 2005.


[gosl14] James Gosling, Bill Joy, Guy Steele, Gilad Bracha, and Alex Buckley. The Java Language Specification. Addison-Wesley, Java SE 8 edition, March 2014. Available here.


[gosl15] James Gosling, Bill Joy, Guy Steele, Gilad Bracha, and Alex Buckley. The Java Language Specification. Addison Wesley, Java SE 8 edition, February 2015. Available here.


[gotl78] C. C. Gotlieb and L. R. Gotlieb. Data Types and Structures. Prentice-Hall, 1978.


[goto79] E. Goto, I. Tetsuo, K. Hiraki, M. Susuki, and N. Inada. FLATS, a machine for numerical, symbolic and associative computing. In 6th Annual International Symposium on Computer Architecture, pages 102-110, April 1979.


[goto88] Atsuhiro Goto, Y. Kimura, T. Nakagawa, and T. Chikayama. Lazy reference counting: An incremental garbage collection method for parallel inference machines. In ICLP 1988 [ICLP88], 1988, pages 1241-1256. Also ICOT Technical Report TR-354, 1988.


[goto74] Eiichi Goto. Monocopy and associative algorithms in an extended LISP. Technical Report 74-03, Information Science Laboratories, Faculty of Science, University of Tokyo, 1974.


[gott82] A. Gottlieb and J. Wilson. Parallelizing the usual buddy algorithm. Technical Report System Software Note 37, Courant Institute, New York University, 1982.


[gour92] Y. Gourhant, S. Louboutin, V. Cahill, A. Condon, G. Starovic, and B. Tangney. Dynamic clustering in an object-oriented distributed system. In Proceedings of OLDA-II (Objects in Large Distributed Applications), Ottawa, Canada, October 1992. Available here.


[goye71] P. Goyer. A garbage collector to be implemented on a CDC 3100. In Peck [Algol68], 1971, pages 303-317.


[gray87] Stanley M. Gray. Garbage collection in a parallel processing environment. Master's thesis, East Texas State University, 1987.


[gree74] Richard Greenblat. The LISP machine. Working Paper 79, MIT AI Laboratory, November 1974.


[gree84] Richard Greenblatt. The LISP machine. In D. R. Barstow, H. E. Shrobe, and E. Sandewall, editors, Interactive Programming Environments. McGraw-Hill, 1984.


[grie77] David Gries. An exercise in proving parallel programs correct. Communications of the ACM, 20(12):921-930, December 1977. Available here.


[grie77a] David Gries. On believing programs to be correct. Communications of the ACM, 20(1):49-50, January 1977.


[grie79] David Gries. The Schorr-Waite graph marking algorithm. Acta Informatica, 11(3):223-232, 1979.


[grif05] Paul Griffin, Witawas Srisa-An, and J. Morris Chang. An energy efficient garbage collector for Java embedded devices. In LCTES 2005 [LCTES05], 2005, pages 230-238. Available here.


[grif05a] Paul Griffin, Witawas Srisa-An, and J. Morris Chang. On designing a low-power garbage collector for Java embedded devices: A case study. In ACM Symposium on Applied Computing, pages 868-873, Santa Fe, NM, 2005. Available here.


[grim89] Knut S. Grimsrud. Multiple prefetch adaptive disk caching with strategic data layout. Master's thesis, Brigham Young University, December 1989.


[gris83] Ralph E. Griswold and Madge T. Griswold. The Icon Programming Language. Prentice-Hall, 1983.


[gris86] Ralph E. Griswold and Madge T. Griswold. The Implementation of the Icon Programming Language. Princeton University Press, 1986. Out of print. Available here.


[gris72] R. E. Griswold. The macro implementation of Snobol 4, 1972.


[grit81] Dale H. Grit and Rex L. Page. Deleting irrelevant tasks in an expression-oriented multiprocessor system. ACM Transactions on Programming Languages and Systems, 3(1):49-59, January 1981.


[gros02] Dan Grossman, Greg Morrisett, Trevor Jim, Michael Hicks, Yanling Wang, and James Cheney. Region-based memory management in Cyclone. In PLDI 2002 [PLDI02], 2002, pages 282-293. Available here.


[gros07] Dan Grossman. The transactional memory / garbage collection analogy. In OOPSLA 2007 [OOPSLA07], 2007, pages 695-706. Essay session. Available here.


[grou99] Morten Grouleff. A concurrent garbage collector for BETA. Master's thesis, University of Aarhus, December 1999. Available here.


[grui05] Flavius Gruian and Zoran Salcic. Designing a concurrent hardware garbage collector for small embedded systems. In Thambipillai Srikanthan, Jingling Xue, and Chip-Hong Chang, editors, Advances in Computer Systems Architecture, volume 3740 of Lecture Notes in Computer Science, pages 281-294. Springer-Verlag, 2005.


[grun93] Dirk Grunwald, Benjamin G. Zorn, and Robert Henderson. Improving the cache locality of memory allocation. In PLDI 1993 [PLDI93], 1993, pages 177-186. Available here.


[grun92] Dirk Grunwald and Benjamin Zorn. CUSTOMALLOC: Efficient synthesized memory allocators. Computer Science Technical Report CU-CS-602-92, University of Colorado, Campus Box 430, Boulder, CO 80309, July 1992.


[grun93a] Dirk Grunwald and Benjamin Zorn. Customalloc: Efficient, synthesised memory allocators. Software: Practice and Experience, 23:851-869, 1993. Available here.


[grze07] Chris Grzegorczyk, Sunil Soman, Chandra Krintz, and Rich Wolski. Isla Vista heap sizing: Using feedback to avoid paging. In CGO 2007 [CGO07], 2007, pages 325-340. Available here.


[gu09] Xiaoming Gu, Ian Christopher, Tongxin Bai, Chengliang Zhang, and Chen Ding. A component model of spatial locality. In Kolodner and Steele [ISMM09], 2009, pages 99-108. Available here.


[guan09] Xiaohua Guan, Witawas Srisa-an, and Chenghuan Jia. Investigating the effects of using different nursery sizing policies on performance. In Kolodner and Steele [ISMM09], 2009, pages 59-68. Available here.


[gude93] David Gudeman. Representing type information in dynamically-typed languages. Technical Report TR93-27, University of Arizona, Department of Computer Science, Tucson, AZ, 1993.


[gugg94] Satish Kumar Guggilla. Generational garbage collection of C++ targeted to SPARC architectures. Master's thesis, Iowa State University, July 1994. Technical report ISUTR 94-11. Available here.


[gupt88] Aloke Gupta and W. K. Fuchs. Reliable garbage collection in distributed object oriented systems. In 12th Annual International Computer Software Applications Conference (COMPSAC), pages 324-328, Chicago, October 1988. IEEE Press.


[gupt93] Aloke Gupta and W. K. Fuchs. Garbage collection in a distributed object-oriented system. IEEE Transactions on Knowledge and Data Engineering, 5(2), April 1993.


[gupt90] Aloke Gupta. Low overhead garbage collection in a distributed object-oriented system. Master's thesis, University of Illinois at Urbana-Champaign, 1990.


[gupt03] Alka Gupta. GC portal, July 2003. Available here.


[gutt95] J.D. Guttman, J.D. Ramsdel, and V. Swarup. The VLISP verified Scheme system. Lisp and Symbolic Computation, 8(1/2):33-110, March 1995.


[guye06] Samuel Z. Guyer, Kathryn S. McKinley, and Daniel Frampton. Free-Me: A static analysis for automatic individual object reclamation. In Schwartzbach and Ball [PLDI06], 2006, pages 364-375. Available here.


[guye04] Samuel Guyer and Kathryn McKinley. Finding your cronies: Static analysis for dynamic object colocation. In OOPSLA 2004 [OOPSLA04], 2004, pages 237-250. Available here.


[guzm90] J. C. Guzmán and Paul Hudak. Single threaded polymorphic lambda calculus. In 5th IEEE Symposium on Logic in Computer Science. IEEE Press, 1990.


[glasgow88] Cordelia Hall, R. John M. Hughes, and John T. O'Donnell, editors. Glasgow Workshop on Functional Programming. Glasgow University Computer Science Report 89/R4, February 1988.


[glasgow90] Simon L. Peyton Jones, G. Hutton, and C. K. Hols, editors. 3rd Annual Glasgow Workshop on Functional Programming. Springer-Verlag, 1991.


[glasgow91] Simon L. Peyton Jones, G. Hutton, and C. K. Hols, editors. 4th Annual Glasgow Workshop on Functional Programming, Workshops in Computer Science. Springer-Verlag, 1992.


[glasgow93] 6th Annual Glasgow Workshop on Functional Programming, Workshops in Computer Science. Springer-Verlag, 1993.

Up [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z]


This file was generated by bib2htmlwritten by
Richard Jones

University of Kent at Canterbury