Pattern analysis for triaging memory leaks

US10108475B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10108475-B2
Application numberUS-201414464586-A
CountryUS
Kind codeB2
Filing dateAug 20, 2014
Priority dateAug 20, 2014
Publication dateOct 23, 2018
Grant dateOct 23, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method of analyzing out-of-memory errors may include receiving a memory dump generated in response to an out-of-memory error, receiving an identification of an object class in the memory dump as a leak suspect that may be responsible for the out-of-memory error, matching the leak suspect with an analysis pattern specific to the object class, and extracting usage information from the memory dump using the analysis pattern.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of analyzing out-of-memory errors, the method comprising: receiving, using a computer system, a memory dump generated in response to an out-of-memory error; receiving, using the computer system, an identification of an object class in the memory dump as a leak suspect that may be responsible for the out-of-memory error, wherein the object class is identified as a leak suspect based on an amount of the memory dump used by the object class; matching, using the computer system, and in response to identifying the object class as a leak suspect, the leak suspect to an analysis pattern from among a plurality of analysis patterns, wherein: the analysis pattern comprises a collection of instructions specific to the object class that extract additional information from the memory dump for the leak suspect; and the analysis pattern is matched to the leak suspect based on the object class of the leak suspect; and extracting, using the computer system, usage information from the memory dump using the analysis pattern, wherein the usage information comprises statistics for all instances of at least one variable name in the object class. 2. The method of claim 1 , wherein the analysis pattern comprises instructions that are specific to an application framework used to develop applications running on the computer system. 3. The method of claim 1 , wherein each of the plurality of analysis patterns is specific to individual object classes. 4. The method of claim 1 , wherein the analysis pattern comprises an application framework language query that extracts at least a portion of the usage information from the memory dump. 5. The method of claim 1 , wherein the usage information comprises a list of instances of the object class that are most prevalent in the memory dump. 6. The method of claim 5 , wherein, for each of the instances of the object class, the usage information comprises an original query that generated the instance of the object class. 7. The method of claim 1 , wherein the usage information comprises a comparison of usage of the object class in relation to other object classes in an application framework that were not identified as leak suspects. 8. The method of claim 1 , wherein the object class is identified as a leak suspect based on a percentage of the memory dump that is attributed to the object class. 9. The method of claim 1 , wherein the identification of the object in the memory dump as a leak suspect is provided by a memory analyzer tool configured to identify high-memory consumption object classes. 10. The method of claim 1 , further comprising: receiving an identification of a second object class in the memory dump as a second leak suspect; matching the second leak suspect with a second analysis pattern; extracting second usage information from the memory dump using the second analysis pattern; and causing the usage information and the second usage information to be displayed together in an interface to compare the leak suspect to the second leak suspect. 11. A non-transitory, computer-readable medium comprising instructions which, when executed by one or more processors, causes the one or more processors to perform operations comprising: receiving a memory dump generated in response to an out-of-memory error; receiving an identification of an object class in the memory dump as a leak suspect that may be responsible for the out-of-memory error, wherein the object class is identified as a leak suspect based on an amount of the memory dump used by the object class; matching, in response to identifying the object class as a leak suspect, the leak suspect to an analysis pattern from among a plurality of analysis patterns, wherein: the analysis pattern comprises a collection of instructions specific to the object class that extract additional information from the memory dump for the leak suspect; and the analysis pattern is matched to the leak suspect based on the object class of the leak suspect; and extracting usage information from the memory dump using the analysis pattern, wherein the usage information comprises statistics for all instances of at least one variable name in the object class. 12. The non-transitory, computer-readable medium of claim 11 , wherein the instructions cause the one or more processors to perform additional operations comprising: receiving an identification of a second object class in the memory dump as a second leak suspect; attempting to match the second leak suspect with one of a plurality of analysis patterns; determining that none of the plurality of analysis patterns match the second leak suspect; and generating automatically a new analysis pattern that matches the second leak suspect. 13. The non-transitory, computer-readable medium of claim 11 , wherein the instructions cause the one or more processors to perform additional operations comprising: receiving an identification of a second object class in the memory dump has a second leak suspect; attempting to match the second leak suspect with one of a plurality of analysis patterns; determining that none of the plurality of analysis patterns match the second leak suspect; and selecting a generic analysis pattern that generates usage information comprising a comparison of usage of the second object class in relation to other object classes in an application framework. 14. The non-transitory, computer-readable medium of claim 13 , wherein the instructions cause the one or more processors to perform additional operations comprising: receiving a new pattern from a developer of the application that caused the out-of-memory error that is responsive to the out-of-memory error. 15. The non-transitory, computer-readable medium of claim 11 , wherein the instructions cause the one or more processors to perform additional operations comprising causing the usage information for the leak suspect to be displayed in an interface, wherein the usage information is presented in the interface based on which instance of the object class is most likely responsible for the out-of-memory error. 16. A system comprising: one or more processors; and one or more memory devices comprising instructions which, when executed by the one or more processors, cause the one or more processors to perform operations comprising: receiving a memory dump generated in response to an out-of-memory error; receiving an identification of an object class in the memory dump as a leak suspect that may be responsible for the out-of-memory error, wherein the object class is identified as a leak suspect based on an amount of the memory dump used by the object class; matching, in response to identifying the object class as a leak suspect, the leak suspect to an analysis pattern from among a plurality of analysis patterns, wherein: the analysis pattern comprises a collection of instructions specific to the object class that extract additional information from the memory dump for the leak suspect; and the analysis pattern is matched to the leak suspect based on the object class of the leak suspect; and extracting usage information from the memory dump using the analysis pattern, wherein the usage information comprises statistics for all instances of at least one variable name in the object class. 17. The system of claim 16 , wherein the out-of-memory error occurs while an application is running on a virtual machine. 18. The system of claim 16 , wherein the analysis pattern comprises an XML file that is used as an input to a pattern analysis to

Assignees

Inventors

Classifications

  • G06F11/079Primary

    Root cause analysis, i.e. error or fault diagnosis (in a hardware test environment G06F11/22; in a software test environment G06F11/36) · CPC title

  • in a memory management context, e.g. virtual memory or cache management (memory management G06F12/00; testing of static memory units G11C29/00) · CPC title

  • Dumping, i.e. gathering error/state information after a fault for later diagnosis · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10108475B2 cover?
A method of analyzing out-of-memory errors may include receiving a memory dump generated in response to an out-of-memory error, receiving an identification of an object class in the memory dump as a leak suspect that may be responsible for the out-of-memory error, matching the leak suspect with an analysis pattern specific to the object class, and extracting usage information from the memory du…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F11/079. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 23 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).