IP Library › Granted Patent US 10,846,202
Granted Patent B2
US 10,846,202 · App. 16/037,933 · Granted Nov 24, 2020

Multi-language heap analyzer

Inventors: Jiri Sedlacek (Stara Hut, CZ); Tomas Hurka (Prague, CZ)
Assignee: Oracle International Corporation
G06F11/366G06F9/4552G06F11/3644G06F8/51G06F8/53G06F8/74G06F11/0778
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,846,202
App. No.
16/037,933
Filed
Jul 17, 2018
Granted
Nov 24, 2020
Kind
B2
Art Unit
2114
USPC
714/37
Abstract

A method for analyzing memory may include obtaining, from a heap snapshot, host objects each represented in a host format for a host language. The host objects may include a first host object and a second host object. The method may further include translating, using a first guest format for a first guest language, the first host object to a first guest object, and translating, using a second guest format for a second guest language, the second host object to a second guest object.

Claims (55)

1. A method for analyzing memory, comprising:

obtaining, from a heap snapshot, a plurality of host objects each represented in a host format for a host language, wherein the plurality of host objects comprises a first host object and a second host object;

translating, using a first guest format for a first guest language, the first host object to a first guest object; and

translating, using a second guest format for a second guest language, the second host object to a second guest object.

2. The method of claim 1 , further comprising:

presenting the first guest object according to the first guest format and the second guest object according to the second guest format.

3. The method of claim 1 , wherein the second host object is translated in response to determining that the first host object comprises a reference to the second host object.

4. The method of claim 3 , further comprising:

adding, to the first guest object, a reference to the second guest object.

5. The method of claim 1 , wherein translating the first host object to the first guest object comprises:

determining that the first host object is an instance of a first host class that defines a guest class of the first guest language; and

extracting the first guest format from the guest class.

6. The method of claim 1 , further comprising:

extracting first memory usage information from a first subset of the plurality of host objects corresponding to the first guest language; and

extracting second memory usage information from a second subset of the plurality of host objects corresponding to the second guest language.

7. The method of claim 1 , further comprising:

searching the plurality of host objects corresponding to the first guest language;

analyzing, using a script, the plurality of host objects corresponding to the first guest language; and

displaying a data structure comprised by the plurality of host objects corresponding to the first guest language.

8. A system for analyzing memory, comprising:

a repository configured to store:

a heap snapshot comprising a plurality of host objects each represented in a host format for a host language, wherein the plurality of host objects comprises a first host object and a second host object;

a memory coupled to a processor; and

a heap analyzer, executing on the processor and using the memory, configured to:

translate, using a first guest format for a first guest language, the first host object to a first guest object; and

translate, using a second guest format for a second guest language, the second host object to a second guest object.

9. The system of claim 8 , further comprising:

a display device configured to present the first guest object according to the first guest format and the second guest object according to the second guest format.

10. The system of claim 8 , wherein the heap analyzer is further configured to translate the second host object in response to determining that the first host object comprises a reference to the second host object.

11. The system of claim 10 , wherein the heap analyzer is further configured to add, to the first guest object, a reference to the second guest object.

12. The system of claim 8 , wherein the heap analyzer is further configured to translate the first host object to the first guest object by:

determining that the first host object is an instance of a first host class that defines a guest class of the first guest language; and

extracting the first guest format from the guest class.

13. The system of claim 8 , wherein the heap analyzer is further configured to:

extract first memory usage information from a first subset of the plurality of host objects corresponding to the first guest language; and

extract second memory usage information from a second subset of the plurality of host objects corresponding to the second guest language.

14. A non-transitory computer readable medium comprising instructions that, when executed by a processor, perform:

obtaining, from a heap snapshot, a plurality of host objects each represented in a host format for a host language, wherein the plurality of host objects comprises a first host object and a second host object;

translating, using a first guest format for a first guest language, the first host object to a first guest object; and

translating, using a second guest format for a second guest language, the second host object to a second guest object.

15. The non-transitory computer readable medium of claim 14 , further comprising instructions that perform:

presenting the first guest object according to the first guest format and the second guest object according to the second guest format.

16. The non-transitory computer readable medium of claim 14 , wherein the second host object is translated in response to determining that the first host object comprises a reference to the second host object.

17. The non-transitory computer readable medium of claim 16 , further comprising instructions that perform:

adding, to the first guest object, a reference to the second guest object.

18. The non-transitory computer readable medium of claim 14 , wherein translating the first host object to the first guest object comprises:

determining that the first host object is an instance of a first host class that defines a guest class of the first guest language; and

extracting the first guest format from the guest class.

19. The non-transitory computer readable medium of claim 14 , further comprising instructions that perform:

extracting first memory usage information from a first subset of the plurality of host objects corresponding to the first guest language; and

extracting second memory usage information from a second subset of the plurality of host objects corresponding to the second guest language.

20. The non-transitory computer readable medium of claim 14 , further comprising instructions that perform:

searching the plurality of host objects corresponding to the first guest language;

analyzing, using a script, the plurality of host objects corresponding to the first guest language; and

displaying a data structure comprised by the plurality of host objects corresponding to the first guest language.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2018
From: SEDLACEK, JIRI; HURKA, TOMAS
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 046486/0393 →
Continuity (1)
Related Publication 20200026637A1 · Jan 23, 2020