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, Richard Jones
Last updated 9 February 2010.
[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]

[gabr82] Richard P. Gabriel and L. M. Mansinter.
Performance of Lisp systems.
In LFP 1982 [LFP82], 1982, pages 123-142.
[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.
[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.
[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 Fourth 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.
[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.
[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 International Conference on Compiler Construction(CC'2000), volume
1781 of Lecture Notes in Computer Science. Springer-Verlag, 2000.
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] Eliot 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 Ellis Chang.
Hardware-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.
[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.
[geor07] Andy Georges, Dries Buytaert, and Lieven Eeckhout.
Statistically rigorous Java performance evaluation.
In OOPSLA 2007 [OOPSLA07], 2007, pages 57-76.
[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.
[gheo03] Ovidiu Gheorghioiu, Alexandru Salcianu, and Martin Rinard.
Interprocedural compatibility analysis for static object preallocation.
In POPL 2003 [POPL03], 2003.
[ghes03a] T. Ghesquiere, J.-D. Choi, and K. De Bosschere.
Accurate replay of memory management in Java.
In Fourth 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 Proceedings of the 38th Annual Hawaii International Conference on
System Sciences (HICSS¿05) - Track 9, page 275.2, 2005.
[gill] Richard Gillam.
An introduction to garbage collection.
http://oss.software.ibm.com/icu/docs/papers/cpp\_report/an\_introduction\_to\_garbage\_collection\_part\_i.html.
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 Proceedings of ESOP'86 - European Symposium on Programming,
volume 213 of Lecture Notes in Computer Science, pages 70-81,
Saarbruecken, March 1986. Springer-Verlag.
[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 Proceedings of the Real-Time Techniques and Applications
Symposium, Chicago, IL, May 1995.
[goet03] Brian Goetz.
Java theory and practice: A brief history of garbage collection.
http://www-106.ibm.com/developerworks/java/library/j-jtp10283/, 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.
http://www-106.ibm.com/developerworks/java/library/j-jtp11253/, November 2003.
Second of a series of three articles.
Available here.
[goet04] Brian Goetz.
Java theory and practice: Garbage collection and performance.
http://www-106.ibm.com/developerworks/java/library/j-jtp01274/, 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 Ninth IEEE International Symposium on Object and Component-Oriented
Real-Time Distributed Computing (ISORC 2006), page 8, 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.
[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.
ACM SIGPLAN Notices, 26(6):165-176, 1991.
[gold92a] Benjamin Goldberg.
Incremental garbage collection without tags.
In Proceedings ESOP92 - European Symposium on Programming, 1992.
Available here.
[gold92b] Richard A. Golding.
Weak-Consistency Group Communication and Membership.
PhD thesis, University of California at 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.
[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.
[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.
[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 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.
[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.
[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.
[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 Proceedings of the 2005 ACM symposium on Applied Computing, pages
868-873, Santa Fe, NM, 2005.
Available here.
[grif05] Paul Griffin and J. Morris Chang.
An energy efficient garbage collector for Java embedded devices.
In LCTES 2005 [LCTES05], 2005, pages 230-238.
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.
[grou99] Morten Grouleff.
A concurrent garbage collector for BETA.
Master's thesis, University of Aarhus, December 1999.
Available here.
[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 '07: Proceedings of the International Symposium on Code Generation
and Optimization, pages 325-340. IEEE Computer Society, 2007.
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, Arizona, 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 Proceedings of the Twelfth Annual International Computer Software
Applications Conference (COMPSAC 88), 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.
http://java.sun.com/developer/technicalArticles/Programming/GCPortal/, 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.
[guzm90] J. C. Guzmán and Paul Hudak.
Single threaded polymorphic lambda calculus.
In Fifth 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.
Third Annual Glasgow Workshop on Functional Programming.
Springer-Verlag, 1991.
[glasgow91] Simon L. Peyton Jones, G. Hutton, and C. K. Hols, editors.
Fourth Annual Glasgow Workshop on Functional Programming, Workshops
in Computer Science. Springer-Verlag, 1992.
[glasgow93] Sixth Annual Glasgow Workshop on Functional Programming, Workshops in
Computer Science. Springer-Verlag, 1993.
[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