AbstractIt is generally thought that reasoning about programs in memory safe, garbage collected languages is much easier than in languages where the programmer has more explicit control over memory. Paradoxically, existing program logics are based on a low-level view of storage that is sensitive to the presence or absence of unreachable cells, and Reynolds has pointed out that the Hoare triples derivable in these logics are even incompatible with garbage collection. We present a study of a small language whose operational semantics includes a rule for reclaiming garbage. Our main results include an analysis of propositions that are garbage insensitive, and full abstraction results connecting partial and total correctness to two natural noti...
Abstract Weak references are references that do not prevent the object they point to from being garb...
We present a Separation Logic with space credits for reasoning about heapspace in a sequential call-...
Storage management is an important part of a programming system. There are two basic storage manage...
AbstractIt is generally thought that reasoning about programs in memory safe, garbage collected lang...
Automatic finalization is a common but inherently complex language facility that makes the garbage c...
We develop a series of calculi that are just low-level enough that we can express allocation and gar...
this paper we present a formal system for deriving assertions about programs with memory. The assert...
International audienceWe present SL⋄, a Separation Logic that allows controlling the heap space cons...
Constructing correct concurrent garbage collection algorithms is notoriously hard. Numerous such alg...
Efficient low-level systems such as garbage collectors need more control over memory than safe high-...
Garbage collection in OOP languages provides facilities to hook code that is executed upon object fi...
Existing techniques for garbage collection and machine code optimizations can interfere with each ot...
We survey basic garbage collection algorithms, and variations such as incremental and generational c...
As the development of hardware progresses, computers are expected to solve increasingly complex prob...
International audienceWe present a Separation Logic with space credits for reasoning about heapspace...
Abstract Weak references are references that do not prevent the object they point to from being garb...
We present a Separation Logic with space credits for reasoning about heapspace in a sequential call-...
Storage management is an important part of a programming system. There are two basic storage manage...
AbstractIt is generally thought that reasoning about programs in memory safe, garbage collected lang...
Automatic finalization is a common but inherently complex language facility that makes the garbage c...
We develop a series of calculi that are just low-level enough that we can express allocation and gar...
this paper we present a formal system for deriving assertions about programs with memory. The assert...
International audienceWe present SL⋄, a Separation Logic that allows controlling the heap space cons...
Constructing correct concurrent garbage collection algorithms is notoriously hard. Numerous such alg...
Efficient low-level systems such as garbage collectors need more control over memory than safe high-...
Garbage collection in OOP languages provides facilities to hook code that is executed upon object fi...
Existing techniques for garbage collection and machine code optimizations can interfere with each ot...
We survey basic garbage collection algorithms, and variations such as incremental and generational c...
As the development of hardware progresses, computers are expected to solve increasingly complex prob...
International audienceWe present a Separation Logic with space credits for reasoning about heapspace...
Abstract Weak references are references that do not prevent the object they point to from being garb...
We present a Separation Logic with space credits for reasoning about heapspace in a sequential call-...
Storage management is an important part of a programming system. There are two basic storage manage...