2002
DOI: 10.1145/586088.586089
|View full text |Cite
|
Sign up to set email alerts
|

On the usefulness of type and liveness accuracy for garbage collection and leak detection

Abstract: The effectiveness of garbage collectors and leak detectors in identifying dead objects depends on the accuracy of their reachability traversal. Accuracy has two orthogonal dimensions: (i) whether the reachability traversal can distinguish between pointers and nonpointers (type accuracy), and (ii) whether the reachability traversal can identify memory locations that will be dereferenced in the future (liveness accuracy). This article presents an experimental study of the importance of type and liveness accuracy… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
26
0

Year Published

2003
2003
2015
2015

Publication Types

Select...
4
3
1

Relationship

0
8

Authors

Journals

citations
Cited by 41 publications
(26 citation statements)
references
References 29 publications
(47 reference statements)
0
26
0
Order By: Relevance
“…Prior work has reported that even fully conservative GC rarely suffers from typeaccuracy problems on 64-bit architectures-although more issues have been reported on 32-bit architectures [32]. Other studies confirm that type accuracy is marginal compared to liveness accuracy [33]. In our context, liveness accuracy problems are only to be expected for uninstrumented allocator abstractions that aggressively use free lists-or other forms of reuse.…”
Section: Mutable Tracingmentioning
confidence: 49%
“…Prior work has reported that even fully conservative GC rarely suffers from typeaccuracy problems on 64-bit architectures-although more issues have been reported on 32-bit architectures [32]. Other studies confirm that type accuracy is marginal compared to liveness accuracy [33]. In our context, liveness accuracy problems are only to be expected for uninstrumented allocator abstractions that aggressively use free lists-or other forms of reuse.…”
Section: Mutable Tracingmentioning
confidence: 49%
“…Engineering accurate stack maps is challenging [1,24]. Precise pointer tracking burdens the compiler with significant bookkeeping in optimizations and intermediate representations [21], and inhibits optimizations, such as code motion.…”
Section: Exact Garbage Collectionmentioning
confidence: 99%
“…Exactly identifying root references requires a strict compiler discipline that constructs and maintains stack maps that precisely report every word on the stack and in registers that holds a live reference for every point in execution where a collection may occur. This process is a formidable implementation task that requires tracking every reference in all optimizations and compiler intermediate forms, and it restricts some optimizations, such as code motion [1,21,24].…”
Section: Introductionmentioning
confidence: 99%
“…In our experience, however, conservative GC works poorly for long-running programs, such as a web server, a programming environment, or an operating system kernel. For such programs, conservative GC can trigger unbounded memory use due to linked lists [Boehm 2002] that manage threads and continuations; this problem is usually due to liveness imprecision [Hirzel et al 2002], rather than type imprecision. Furthermore, the programs are susceptible to memory-exhaustion attack from malicious code (e.g., user programs or untrusted servlets) that might be otherwise restricted through a sandbox [Wick and Flatt 2004].…”
Section: Gc In Cmentioning
confidence: 99%
“…Second, the collector may assume that a numeric value in the heap is actually a pointer; considered as a pointer, such a number may reference a valid heap location, thus incorrectly marking that location as reachable. For most applications, conservative identification of roots is a more significant problem than misidentification of integers as pointers [Hirzel et al 2002]. Smith and Morrisett [1998] attempted to solve some of the misidentification problems but were still conservative on the stack and other areas of memory.…”
Section: Related Workmentioning
confidence: 99%