DocumentCode
625514
Title
GrowthTracker: Diagnosing Unbounded Heap Growth in C++ Software
Author
Hill, Emily ; Tracy, Daniel J. ; Brown, Shannon
Author_Institution
Center for Hybrid Multi-core Productivity Res., Univ. of California, San Diego, La Jolla, CA, USA
fYear
2013
fDate
18-22 March 2013
Firstpage
134
Lastpage
143
Abstract
Unbounded growth of heap memory degrades performance and eventually causes program failure. Traditional memory leaks are the most commonly recognized, but not the only cause of this issue. Large software systems use many aggregate data structures that can grow arbitrarily, and application behavior that produces unbounded growth of these structures is common. This growth can remain undetected by both memory leak and staleness detection tools. In this paper, we present an approach for reliably identifying aggregate data structures that can grow without bound over the lifetime of a program. Our solution tracks all aggregates over the lifetime of the program and utilizes heuristics to identify non-convergent growth. Our diagnostic method continuously reduces false positives and false negatives during execution, producing more accurate reports for as long as it is allowed to continue execution. In addition, we present techniques to utilize this method in large, pre-existing C++ software without requiring extensive code modification. Our tool identified data structures with this issue in Google´s Chrome web browser and Apple´s Safari browser among others.
Keywords
C++ language; data structures; program diagnostics; storage management; Apple´s Safari browser; C++ software; Google´s Chrome Web browser; GrowthTracker; code modification; false negatives; false positives; memory leakage; nonconvergent growth identification; program failure; program lifetime; software aggregate data structures; staleness detection tools; unbounded heap memory growth diagnosis; Accuracy; Aggregates; Data structures; Resource management; Software; Target tracking; Tumors; C++; data structures; memory bloat; memory leak; memory tumor;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Testing, Verification and Validation (ICST), 2013 IEEE Sixth International Conference on
Conference_Location
Luembourg
Print_ISBN
978-1-4673-5961-0
Type
conf
DOI
10.1109/ICST.2013.39
Filename
6569725
Link To Document