Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of runtime analysis of a computer program comprising: detecting allocations of virtual memory regions during runtime of the computer program; creating an entry within a list of existing virtual memory regions for each allocation of a virtual memory region during runtime, each entry comprising a timestamp; updating the list, during runtime, according to usage of the virtual memory regions comprising for each allocation of a virtual memory region that is committed, removing the timestamp from the corresponding entry; and indicating virtual memory regions allocated to, but not used by, the computer program according to the list.
2. The method of claim 1 , further comprising: determining a time stamp for each allocation of a virtual memory region; including the timestamps within the corresponding entries in the list; and sorting the entries of the list according to the timestamps.
3. The method of claim 1 , further comprising: determining a size for each allocation of a virtual memory region; including the size within the corresponding entries in the list; and sorting the entries of the list according to size.
4. The method of claim 1 , wherein detecting allocations further comprises detecting commitments of virtual memory regions or reservations of virtual memory regions.
5. The method of claim 4 , further comprising: determining call stack information responsive to each detected allocation; and including the call stack information in each corresponding entry.
6. The method of claim 4 , further comprising including a timestamp within the entry for each allocation of a virtual memory region that is reserved for the computer program, but not committed.
7. The method of claim 1 , wherein updating the list further comprises updating the entries in the list to indicate allocations of virtual memory regions that are free.
8. The method of claim 1 , wherein updating the list further comprises, for allocated virtual memory regions comprising a committed portion and a reserved portion, adding an entry to the list specifying the committed portion, wherein the entry does not specify a time stamp.
9. A computer program product comprising: a computer-usable device having computer-usable program code that performs runtime analysis of a computer program, said computer program product including: computer-usable program code that detects allocations of virtual memory regions during runtime of the computer program; computer-usable program code that creates an entry in a list of existing virtual memory regions for each allocation of a virtual memory region during runtime, each entry comprising a timestamp; computer-usable program code that updates the list, during runtime, according to usage of the virtual memory regions comprising for each allocation of a virtual memory region that is committed, removing the timestamp from the corresponding entry; and computer-usable program code that indicates virtual memory regions allocated to, but not used by, the computer program according to the list.
10. The computer program product of claim 9 , further comprising: computer-usable program code that determines a timestamp for each allocation of a virtual memory region; computer-usable program code that includes the timestamps within the corresponding entries in the list; and computer-usable program code that sorts the entries of the list according to the timestamps.
11. The computer program product of claim 9 , further comprising: computer-usable program code that determines a size for each allocation of a virtual memory region; computer-usable program code that includes the size within the corresponding entries in the list; and computer-usable program code that sorts the entries of the list according to size.
12. The computer program product of claim 9 , wherein the computer-usable program code that detects allocations further comprises computer-usable program code that detects commitments of virtual memory regions or reservations of virtual memory regions.
13. The computer program product of claim 12 , further comprising: computer-usable program code that determines call stack information for each detected allocation; and computer-usable program code that includes the call stack information in each corresponding entry.
14. The computer program product of claim 12 , further comprising computer-usable program code that includes a timestamp within the entry for each allocation of a virtual memory region reserved for the computer program, but not committed.
15. The computer program product of claim 9 , wherein the computer-usable program code that updates the list further comprises computer-usable program code that updates the entries in the list to indicate allocations of virtual memory regions that are free.
16. The computer program product of claim 9 , wherein the computer-usable program code that updates the list further comprises computer-usable program code that, for each allocation of a virtual memory region having both a committed portion and a reserved portion, adds an entry to the list specifying the committed portion, wherein the entry does not specify a timestamp.
17. A method of runtime analysis of a computer program comprising: detecting reservations of virtual memory regions during runtime of the computer program; detecting commitments of virtual memory regions during runtime of the computer program; creating an entry within a list of existing virtual memory regions for each reservation and each commitment of a virtual memory region during runtime; updating the list according to virtual memory regions that are freed and virtual memory regions that are committed; and indicating virtual memory regions allocated to, but not used by, the computer program according to the list; wherein creating an entry within the list of existing virtual memory regions for each reservation and each commitment of a virtual memory region during runtime comprises including a timestamp within each entry; and wherein updating the list according to virtual memory regions that are freed and virtual memory regions that are committed comprises removing the timestamp from each entry corresponding to virtual memory regions that are freed and virtual memory regions that are committed.
Unknown
August 3, 2010
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.