US2006212852A1PendingUtilityA1

Methods, systems and computer program products for detecting memory leaks

Assignee: HWANG JINWOOPriority: Mar 16, 2005Filed: Mar 16, 2005Published: Sep 21, 2006
Est. expiryMar 16, 2025(expired)· nominal 20-yr term from priority
Inventors:Jinwoo Hwang
G06F 11/3612G06F 12/0253
39
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods of detecting a memory leak may include identifying a largest ChildNode of a ParentNode; and comparing a total size of the ParentNode to a total size of the largest ChildNode of the ParentNode. If the total size of the ParentNode is significantly larger than the total size of the largest ChildNode of the ParentNode, a possible memory leak area may be identified. Related systems and computer program products are also discussed.

Claims

exact text as granted — not AI-modified
1 . A method of detecting a memory leak, the method comprising: 
 identifying a largest ChildNode of a ParentNode;    comparing a total size of the ParentNode to a total size of the largest ChildNode of the ParentNode; and    if the total size of the ParentNode is significantly larger than the total size of the largest ChildNode of the ParentNode, identifying a possible memory leak area.    
     
     
         2 . A method according to  claim 1  wherein comparing a total size of the ParentNode to a total size of the largest ChildNode comprises calculating a difference between the total size of the ParentNode and the total size of the largest ChildNode, and wherein identifying a possible memory leak area comprises identifying a possible memory leak area if the difference between the total size of the Parent Node and the total size of the largest ChildNode exceeds a difference threshold.  
     
     
         3 . A method according to  claim 1  wherein comparing a total size of the ParentNode to a total size of the largest ChildNode comprises calculating a ratio of the total size of the largest ChildNode with respect to the total size of the ParentNode, and wherein identifying a possible memory leak area comprises identifying a possible memory leak area if the ratio of the total size of the largest ChildNode with respect to the total size of the ParentNode is less than a ratio threshold.  
     
     
         4 . A method according to  claim 1  further comprising: 
 if the total size of the ParentNode is not significantly larger than the total size of the largest ChildNode, identifying a largest GrandChildNode;    after identifying the largest GrandChildNode, comparing a total size of the ChildNode to a total size of the largest GrandChildNode; and    if the total size of the ChildNode is significantly larger than the total size of the largest GrandChildNode, identifying a possible memory leak area.    
     
     
         5 . A method according to  claim 1  further comprising: 
 if the total size of the ParentNode is not significantly larger than the total size of the largest ChildNode of the ParentNode, comparing the total size of the ChildNode to a size threshold;    if the total size of the ChildNode is less than the size threshold, returning a no memory leak detected result;    if the total size of the ChildNode is greater than the size threshold, identifying a largest GrandChildNode;    after identifying the largest GrandChildNode, comparing a total size of the ChildNode to a total size of the largest GrandChildNode; and    if the total size of the ChildNode is significantly larger than the total size of the largest GrandChildNode, identifying a possible memory leak area.    
     
     
         6 . A method according to  claim 1  further comprising: 
 if the total size of the ParentNode is not significantly larger than the total size of the largest ChildNode, determining if the largest ChildNode is a terminal node;    if the largest ChildNode is a terminal node, returning a no memory leak detected result;    if the largest ChildNode is not a terminal node, identifying a largest GrandChildNode;    after identifying the largest GrandChildNode, comparing a total size of the ChildNode to a total size of the largest GrandChildNode; and    if the total size of the ChildNode is significantly larger than the total size of the largest GrandChildNode, identifying a possible memory leak area.    
     
     
         7 . A method according to  claim 1  further comprising: 
 if the total size of the ParentNode is not significantly larger than the total size of the largest ChildNode, determining if the largest ChildNode is a terminal node;    if the largest ChildNode is a terminal node, returning a no memory leak detected result;    if the total size of the ParentNode is not significantly larger than the total size of the largest ChildNode, comparing the total size of the ChildNode to a size threshold;    if the total size of the ChildNode is less than the size threshold, returning a no memory leak detected result;    if the ChildNode is not a terminal node and if the total size of the ChildNode is greater than the size threshold, identifying a largest GrandChildNode;    after identifying the largest GrandChildNode, comparing a total size of the ChildNode to a total size of the largest GrandChildNode; and    if the total size of the ChildNode is significantly larger than the total size of the largest GrandChildNode, identifying a possible memory leak area.    
     
     
         8 . A computer program product for detecting a memory leak, the computer program product comprising a computer readable medium having computer readable program code embodied therein, the computer readable program code comprising: 
 computer readable program code configured to identify a largest ChildNode of a ParentNode;    computer readable program code configured to compare a total size of the ParentNode to a total size of the largest ChildNode of the ParentNode; and    computer readable program code configured to identify a possible memory leak area when the total size of the ParentNode is significantly larger than the total size of the largest ChildNode of the ParentNode.    
     
     
         9 . A computer program product according to  claim 8  wherein comparing a total size of the ParentNode to a total size of the largest ChildNode comprises calculating a difference between the total size of the ParentNode and the total size of the largest ChildNode, and wherein identifying a possible memory leak area comprises identifying a possible memory leak area when the difference between the total size of the Parent Node and the total size of the largest ChildNode exceeds a difference threshold.  
     
     
         10 . A computer program product according to  claim 8  wherein comparing a total size of the ParentNode to a total size of the largest ChildNode comprises calculating a ratio of the total size of the largest ChildNode with respect to the total size of the ParentNode, and wherein identifying a possible memory leak area comprises identifying a possible memory leak area when the ratio of the total size of the largest ChildNode with respect to the total size of the ParentNode is less than a ratio threshold.  
     
     
         11 . A computer program product according to  claim 8  further comprising: 
 computer readable program code configured to identify a largest GrandChildNode when the total size of the ParentNode is not significantly larger than the total size of the largest ChildNode;    computer readable program code configured to compare a total size of the ChildNode to a total size of the largest GrandChildNode after identifying the largest GrandChildNode; and    computer readable program code configured to identify a possible memory leak area when the total size of the ChildNode is significantly larger than the total size of the largest GrandChildNode.    
     
     
         12 . A computer program product according to  claim 8  further comprising: 
 computer readable program code configured to compare the total size of the ChildNode to a size threshold when the total size of the ParentNode is not significantly larger than the total size of the largest ChildNode of the ParentNode;    computer readable program code configured to return a no memory leak detected result when the total size of the ChildNode is less than the size threshold;    computer readable program code configured to identify a largest GrandChildNode when the total size of the ChildNode is greater than the size threshold;    computer readable program code configured to compare a total size of the ChildNode to a total size of the largest GrandChildNode after identifying the largest GrandChildNode of the ChildNode; and    computer readable program code configured to identify a possible memory leak area when the total size of the ChildNode is significantly larger than the total size of the largest GrandChildNode.    
     
     
         13 . A computer program product according to  claim 8  further comprising: 
 computer readable program code configured to determine if the largest ChildNode is a terminal node when the total size of the ParentNode is not significantly larger than the total size of the largest ChildNode;    computer readable program code configured to return a no memory leak detected result when the largest ChildNode is a terminal node;    computer readable program code configured to identify a largest GrandChildNode when the largest ChildNode is not a terminal node;    computer readable program code configured to compare a total size of the ChildNode to a total size of the largest GrandChildNode after identifying the largest GrandChildNode; and    computer readable program code configured to identify a possible memory leak area when the total size of the ChildNode is significantly larger than the total size of the largest GrandChildNode.    
     
     
         14 . A computer program product according to  claim 8  further comprising: 
 computer readable program code configured to determine if the largest ChildNode is a terminal node when the total size of the ParentNode is not significantly larger than the total size of the largest ChildNode;    computer readable program code configured to return a no memory leak detected result when the largest ChildNode is a terminal node;    computer readable program code configured to compare the total size of the ChildNode to a size threshold when the total size of the ParentNode is not significantly larger than the total size of the largest ChildNode;    computer readable program code configured to return a no memory leak detected result when the total size of the ChildNode is less than the size threshold;    computer readable program code configured to identify a largest GrandChildNode when the ChildNode is not a terminal node and when the total size of the ChildNode is greater than the size threshold;    computer readable program code configured to compare a total size of the ChildNode to a total size of the largest GrandChildNode after identifying the largest GrandChildNode; and    computer readable program code configured to identify a possible memory leak area when the total size of the ChildNode is significantly larger than the total size of the largest GrandChildNode.    
     
     
         15 . A system for detecting a memory leak, the system comprising: 
 a processor configured to identify a largest ChildNode of a ParentNode, to compare a total size of the ParentNode to a total size of the largest ChildNode of the ParentNode, and to identify a possible memory leak area if the total size of the ParentNode is significantly larger than the total size of the largest ChildNode of the ParentNode.    
     
     
         16 . A system according to  claim 15  wherein comparing a total size of the ParentNode to a total size of the largest ChildNode comprises calculating a difference between the total size of the ParentNode and the total size of the largest ChildNode, and wherein identifying a possible memory leak area comprises identifying a possible memory leak area if the difference between the total size of the Parent Node and the total size of the largest ChildNode exceeds a difference threshold.  
     
     
         17 . A system according to  claim 15  wherein comparing a total size of the ParentNode to a total size of the largest ChildNode comprises calculating a ratio of the total size of the largest ChildNode with respect to the total size of the ParentNode, and wherein identifying a possible memory leak area comprises identifying a possible memory leak area if the ratio of the total size of the largest ChildNode with respect to the total size of the ParentNode is less than a ratio threshold.  
     
     
         18 . A system according to  claim 15  wherein the processor is further configured to identify a largest GrandChildNode if the total size of the ParentNode is not significantly larger than the total size of the largest ChildNode, to compare a total size of the ChildNode to a total size of the largest GrandChildNode after identifying the largest GrandChildNode, and to identify a possible memory leak area if the total size of the ChildNode is significantly larger than the total size of the largest GrandChildNode.  
     
     
         19 . A system according to  claim 15  wherein the processor is further configured to compare the total size of the ChildNode to a size threshold if the total size of the ParentNode is not significantly larger than the total size of the largest ChildNode of the ParentNode, to return a no memory leak detected result if the total size of the ChildNode is less than the size threshold, to identify a largest GrandChildNode if the total size of the ChildNode is greater than the size threshold, to compare a total size of the ChildNode to a total size of the largest GrandChildNode after identifying the largest GrandChildNode, and to identify a possible memory leak area if the total size of the ChildNode is significantly larger than the total size of the largest GrandChildNode.  
     
     
         20 . A system according to  claim 15  wherein the processor is further configured to determine if the largest ChildNode is a terminal node if the total size of the ParentNode is not significantly larger than the total size of the largest ChildNode, to return a no memory leak detected result if the largest ChildNode is a terminal node, to identify a largest GrandChildNode of the ChildNode if the largest ChildNode is not a terminal node, to compare a total size of the ChildNode to a total size of the largest GrandChildNode after identifying the largest GrandChildNode, and to identify a possible memory leak area if the total size of the ChildNode is significantly larger than the total size of the largest GrandChildNode.

Join the waitlist — get patent alerts

Track US2006212852A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.