IP Library Granted Patent US 9,589,074
Granted Patent B2
US 9,589,074 · App. 14/464,556 · Granted Mar 7, 2017

Multidimensional spatial searching for identifying duplicate crash dumps

Inventors: Abhijit Bhattacharjee (Bangalore, IN); Pradeep Kumar (Bangalore, IN)
Assignee: ORACLE INTERNATIONAL CORPORATION
G06F17/30985G06F11/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 9,589,074
App. No.
14/464,556
Granted
Mar 7, 2017
Kind
B2
Abstract

A method of identifying duplicate crash dumps in a computer system may include receiving a first crash dump caused by an application crash, extracting a first function signature of a function that caused the first crash dump, and searching a datastore of crash dumps for function signatures that substantially match the first function signature. The searching may include performing an approximate string-match between each of the function signatures the first function signature and performing an exact string match between each of the function signatures and the first function signature. The searching may also include combining weighted results of the approximate string-match with weighted results of the exact string match to generate match scores for each of the function signatures, and identifying the function signatures that substantially match the first function signature based on the match scores.

Claims (72)

1. A method of identifying duplicate crash dumps in a computer system, the method comprising:

receiving a first crash dump caused by an application crash;

extracting, from the first crash dump, a first function signature of a function that caused the first crash dump;

searching a datastore of crash dumps for function signatures that substantially match the first function signature, wherein the searching comprises:

performing an approximate string-match between each of the function signatures and the first function signature;

comparing the approximate string-matches to a first threshold;

performing an exact string match between each of the function signatures and the first function signature;

comparing the exact string-matches to a second threshold;

combining weighted results of the approximate string-match with weighted results of the exact string match to generate match scores for each of the function signatures;

comparing the match scores to a third threshold; and

identifying the function signatures that substantially match the first function signature based on:

the comparing of the approximate string-matches to the first threshold;

the comparing of the exact string-matches to the second threshold; and

the comparing of the match scores to the third threshold.

2. The method of claim 1 , further comprising:

extracting call stacks from the crash dumps in the datastore of crash dumps;

extracting the function signatures from the call stacks.

3. The method of claim 1 , further comprising:

returning function signatures with string matching scores above a threshold score.

4. The method of claim 1 , wherein the datastore of crash dumps comprises a database that stores crash dump information from previous application crashes.

5. The method of claim 1 , wherein extracting the first function signature from the crash dump comprises selecting a top-most function signature in a call stack of the first crash dump.

6. The method of claim 1 , wherein extracting the first function signature from the crash dump comprises identifying unique function signatures that are called when an application crashes.

7. The method of claim 1 , further comprising, after receiving the first crash dump, sanitizing a call stack in the first crash dump by removing all non-application function calls.

8. The method of claim 1 , wherein the exact string match comprises a Longest Common Substring search.

9. The method of claim 1 , wherein the approximate string match comprises calculating a Levenshtein score.

10. The method of claim 1 , further comprising:

causing results to be displayed on the display device, wherein the results comprise a table including each of the function signatures and the associated matching scores.

11. A system for identifying duplicate crash dumps, the system comprising:

a crash dump data store, wherein:

the crash dump data store includes a plurality of crash dumps; and

the plurality of crash dumps comprises function signatures;

a computer system running an application, wherein when the application crashes, a first crash dump is triggered; and

a function matching module operating on a server that is in communication with the computer system, wherein:

the function matching module receives the first crash dump from the computer system;

the function matching module extracts, from the first crash dump, a first function signature of a function that caused the first crash dump;

the function matching module searches the plurality of crash dumps from the crash dump data store for function signatures that substantially match the first function signature by:

performing an approximate string-match between each of the function signatures and the first function signature;

comparing the approximate string-matches to a first threshold;

performing an exact string match between each of the function signatures and the first function signature;

comparing the exact string-matches to a second threshold;

combining weighted results of the approximate string-match with weighted results of the exact string match to generate match scores for each of the function signatures;

comparing the match scores to a third threshold; and

identifying the function signatures that substantially match the first function signature based on:

the comparing of the approximate string-matches to the first threshold;

the comparing of the exact string-matches to the second threshold; and

the comparing of the match scores to the third threshold.

12. The system of claim 11 , wherein the function matching module further:

extracts call stacks from the crash dumps in the datastore of crash dumps;

extracts the function signatures from the call stacks.

13. The system of claim 11 , wherein the function matching module further:

returns function signatures with string matching scores above a threshold score.

14. The system of claim 11 , wherein the datastore of crash dumps comprises a database that stores crash dump information from previous application crashes.

15. The system of claim 11 , wherein extracting the first function signature from the crash dump comprises selecting a top-most function signature in a call stack of the first crash dump.

16. The system of claim 11 , wherein extracting the first function signature from the crash dump comprises identifying unique function signatures that are called when an application crashes.

17. 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 first crash dump caused by an application crash;

extracting, from the first crash dump, a first function signature of a function that caused the first crash dump;

searching a datastore of crash dumps for function signatures that substantially match the first function signature, wherein the searching comprises:

performing an approximate string-match between each of the function signatures and the first function signature;

comparing the approximate string-matches to a first threshold;

performing an exact string match between each of the function signatures and the first function signature;

comparing the exact string-matches to a second threshold;

combining weighted results of the approximate string-match with weighted results of the exact string match to generate match scores for each of the function signatures;

comparing the match scores to a third threshold; and

identifying the function signatures that substantially match the first function signature based on:

the comparing of the approximate string-matches to the first threshold;

the comparing of the exact string-matches to the second threshold; and

the comparing of the match scores to the third threshold.

18. The non-transitory computer-readable memory of claim 17 , wherein the exact string match comprises a Longest Common Substring search.

19. T's he non-transitory computer-readable memory of claim 17 , wherein the approximate string match comprises calculating a Levenshtein score.

20. The non-transitory computer-readable memory of claim 17 , wherein the instructions cause the one or more processors to perform further operations comprising:

causing results to be displayed on the display device, wherein the results comprise a table including each of the function signatures and the associated matching scores.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2014
From: BATTACHARJEE, ABHIJIT; KUMAR, PRADEEP
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 033576/0822 →
Continuity (1)
Related Publication 20160055262A1 · Feb 25, 2016