2009
DOI: 10.1145/1543135.1542521
|View full text |Cite
|
Sign up to set email alerts
|

Efficiently and precisely locating memory leaks and bloat

Abstract: Inefficient use of memory, including leaks and bloat, remain a significant challenge for C and C++ developers. Applications with these problems become slower over time as their working set grows and can become unresponsive. At the same time, memory leaks and bloat remain notoriously difficult to debug, and comprise a large number of reported bugs in mature applications. Previous tools for diagnosing memory inefficiencies-based on garbage collection, binary rewriting, or code sampling-impose high overheads (up … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
25
0

Year Published

2010
2010
2020
2020

Publication Types

Select...
7
1

Relationship

0
8

Authors

Journals

citations
Cited by 20 publications
(25 citation statements)
references
References 30 publications
(9 reference statements)
0
25
0
Order By: Relevance
“…Let us consider SPEC2000 first. All the faults (20) in ammp are conditional leaks, caused when functions do not free memory when returning on errors. All these faults can also be found by FASTCHECK as they require only value-flow analysis for top-level pointers.…”
Section: Accuracymentioning
confidence: 99%
See 1 more Smart Citation
“…Let us consider SPEC2000 first. All the faults (20) in ammp are conditional leaks, caused when functions do not free memory when returning on errors. All these faults can also be found by FASTCHECK as they require only value-flow analysis for top-level pointers.…”
Section: Accuracymentioning
confidence: 99%
“…There are a number of reported attempts on memory leak detection using static analysis [3], [9], [10], [11], [13], [22], [30], [33] or dynamic analysis [1], [5], [20], [35], [36]. The SABER approach can speed up existing static techniques by using a full-sparse representation to track the flow of values through assignments.…”
Section: Related Workmentioning
confidence: 99%
“…The second technique, leak pruning [Bond and McKinley 2009], predicts leaked objects based on data structure usage patterns, and then reclaims these objects at runtime; an error is thrown if any reclaimed object is later accessed. Other recent work on detecting memory leaks has resulted in the development of Hound [Novark et al 2009], a runtime system that helps identify the sources of memory leaks and bloat in C and C++ applications, that results in no false positives.…”
Section: Related Workmentioning
confidence: 99%
“…There have been many proposals for detecting or preventing one or some kinds of invalid pointer dereferences [3], [4], [5], [6], [7], [8]. These approaches can be mainly divided into two kinds: dynamic methods that check pointer dereferences during the running of programs and static analysis without running programs.…”
Section: Introductionmentioning
confidence: 99%