DocumentCode
3421721
Title
Detection of heap management flaws in component-based software
Author
Verta, Heikki ; Saridakis, Titos
Author_Institution
NOKIA Res. Center, Finland
fYear
2004
fDate
31 Aug.-3 Sept. 2004
Firstpage
583
Lastpage
590
Abstract
Heap management is responsible for the allocation of heap segments to a running application. When the logic of the heap management is left to the application programmer, as it is the case with programming languages like C and C++, a number of problems may arise. One kind of problems related to imperfect heap management is that of memory leaks, which happen when heap segments become inaccessible before they are deallocated. Closely related to that problem, from the standpoint of programmer´s operations, is the problem of corrupted heap due to redundant attempts to deallocate the same heap segment that has been previously allocated. This work presents a method for detecting such flaws in heap management. Our method is based on traces collected during the execution of an application and their off-line analysis in order to determine the presence of memory leaks and redundant deallocations of the same heap segment. When our method is applied to component-based embedded software, it allows to locate the component that had allocated heap memory and did not deallocate it before exiting, as well as the components that are responsible for the redundant deallocation of heap segments.
Keywords
C++ language; object-oriented programming; redundancy; storage management; C; C++; component-based embedded software; heap management; heap segment allocation; memory leaks; programming languages; Application software; Computer languages; Embedded software; Java; Logic programming; Memory management; Programming profession; Runtime; Software systems; Writing;
fLanguage
English
Publisher
ieee
Conference_Titel
Euromicro Conference, 2004. Proceedings. 30th
ISSN
1089-6503
Print_ISBN
0-7695-2199-1
Type
conf
DOI
10.1109/EURMIC.2004.1333426
Filename
1333426
Link To Document