DocumentCode :
2333312
Title :
Type-preserving heap profiler for C++
Author :
Mihalicza, József ; Porkoláb, Zoltán ; Gábor, Ábel
Author_Institution :
Dept. of Program. Languages & Compilers, Eotvos Lorand Univ., Budapest, Hungary
fYear :
2011
fDate :
25-30 Sept. 2011
Firstpage :
457
Lastpage :
466
Abstract :
Memory profilers are essential tools to understand the dynamic behaviour of complex modern programs. They help to reveal memory handling details: the wheres, the whens and the whats of memory allocations. Most heap profilers provide sufficient information about which part of the source code is responsible for the memory allocations by showing us the relevant call stacks. The sequence of allocations inform us about their order. However, in case of some strongly typed programming languages, like C++, the question what has been allocated is not trivial. Reporting the actual allocation size gives minimal or no information about the structure or type of the allocated objects. Though this information can be retrieved from the location and time of allocation, it cannot be easily automated, if at all. Therefore in large software systems programmers do not have an overall picture of which data structures are responsible for bottlenecks and have too few clues for pinpointing enhancement possibilities. In this paper we present a type-preserving heap profiler for C++. On top of the usual heap profiler features our allocation entries, including those of template constructs, contain exact type information about the allocated objects. We can extract information on individual memory operations as well as supply aggregated overview. Having such a type information in hand programmers can identify critical classes more easily and can perform optimizations based on evidence rather than speculations.
Keywords :
C++ language; data structures; storage management; C++; call stacks; data structures; heap profiler features; information extraction; large software systems; memory allocations; memory handling; memory profilers; program dynamic behaviour; source code; strongly typed programming languages; type-preserving heap profiler; Arrays; Computer languages; Informatics; Layout; Resource management; Syntactics;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Maintenance (ICSM), 2011 27th IEEE International Conference on
Conference_Location :
Williamsburg, VI
ISSN :
1063-6773
Print_ISBN :
978-1-4577-0663-9
Electronic_ISBN :
1063-6773
Type :
conf
DOI :
10.1109/ICSM.2011.6080813
Filename :
6080813
Link To Document :
بازگشت