Title :
Detection of heap management flaws in component-based software
Author :
Verta, Heikki ; Saridakis, Titos
Author_Institution :
NOKIA Res. Center, Finland
fDate :
31 Aug.-3 Sept. 2004
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;
Conference_Titel :
Euromicro Conference, 2004. Proceedings. 30th
Print_ISBN :
0-7695-2199-1
DOI :
10.1109/EURMIC.2004.1333426