Inhalt

Garbage collection is concerned with the automatic reclamation of
memory after its last use by a program. The focus here is on that
reclamation is automatic and free of errors. This is in contrast
to explicit deallocation by the programmer which is difficult and
error-prone. Deallocating memory too late eventually crashes the
program as it runs out of memory. Deallocating memory too early
either crashes the program or leads to unpredictable results as
the access to still needed memory is not longer possible.

We will discuss the most fundamental algorithms for garbage
collection. This includes basic algorithms but also algrithms for
generational, concurrent, incremental, realtime and distributed
garbage collection. We will in particular consider integration of
garbage collection into programming platforms such as Microsoft's
.NET, Java but also C, C++ (conservative garbage collection).

Garbage collection is an active area of research with thousands
of publications as well as a widely used technique in most modern
programming systems.