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 :
بازگشت