Automated diagnosis of software crashes

US2016110238A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016110238-A1
Application numberUS-201414515934-A
CountryUS
Kind codeA1
Filing dateOct 16, 2014
Priority dateOct 16, 2014
Publication dateApr 21, 2016
Grant date

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 for diagnosing software crashes includes retrieving a stack-trace from at least one of a new problem report, updated problem report, and authorized analysis report from a repository. A vector is automatically created from the retrieved stack-trace using the function name and associating the resultant vector with the problem report and authorized analysis reports. Vector space modeling is used to calculate the angles between the resultant vectors to determine similarities. Similar problem reports and authorized analysis reports are grouped into similar sets using a maximal cliques process. New software crashes are automatically diagnosed by extracting the stack-trace from a new problem report of the new software crash, and selecting a potential solution by searching the grouped problem reports and authorized analysis reports for a stack-trace similar to the new stack-trace.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method for diagnosing software crashes, the method comprising: retrieving, by one or more processors, a stack-trace from at least one of a new problem report, updated problem report and authorized analysis report from a repository on one or more server computer systems; automatically creating, by one or more processors, a vector from the retrieved stack-trace, wherein each function name within the stack-trace is a dimension of the resultant vector, and the vector is associated with the problem report and authorized analysis report containing the stack-trace; calculating, by one or more processors, using vector space modeling, angles between resultant vectors to define similarities in problem reports and authorized analysis reports, wherein problem reports and authorized analysis reports are deemed similar where angles between resultant vectors are less than a threshold value; grouping, by one or more processors, the problem reports and authorized analysis reports into similar sets using a maximal cliques process; and automatically diagnosing, by one or more processors, in response to a new software crash, a new stack-trace extracted from a new problem report of the new software crash, and selecting a potential solution by searching the grouped problem reports and authorized analysis reports for a stack-trace similar to the new stack-trace. 2 . The method of claim 1 , wherein retrieving, by one or more processors, a stack-trace from at least one of a new problem report, updated problem report and authorized analysis report from a repository on one or more server computer systems further comprises: scanning, by one or more processors, for at least one of a new problem report, updated problem report and authorized analysis report files; and parsing, by one or more processors, the stack-traces from said at least one of new problem report, updated problem report and authorized analysis report files. 3 . The method of claim 1 , wherein automatically creating, by one or more processors, a vector from the retrieved stack-trace further comprises: determining, by one or more processors, length of the vectors in each dimension by their offsets in the stack-trace. 4 . The method of claim 1 , wherein calculating, by one or more processors, using vector space modeling, angles between resultant vectors to define similarities in problem reports and authorized analysis reports, wherein problem reports and authorized analysis reports are deemed similar where angles between resultant vectors are less than a threshold value further comprises: computing, by one or more processors, the angle between each pair of vectors; and determining, by one or more processors, if the angle between each pair of vectors is less than one degree. 5 . The method of claim 1 , wherein grouping, by one or more processors, the problem reports and authorized analysis reports into similar sets using a maximal cliques process further comprises: creating, by one or more processors, an undirected graph wherein a vertex represents each problem report or authorized analysis report; connecting, by one or more processors, a pair of problem reports and authorized analysis reports, determined to be similar, by an edge; extracting, by one or more processors, one or more separate connected component subgraphs from the undirected graph; determining, by one or more processors, a maximal clique for each subgraph, wherein each maximal clique represents a set of similar problem reports and authorized analysis reports; grouping, by one or more processors, the problem reports and authorized analysis reports contained in the maximal clique together; and storing, by one or more processors, cliques into a repository. 6 . The method of claim 1 , wherein automatically diagnosing, by one or more processors, in response to a new software crash, a new stack-trace extracted from a new problem report of the new software crash, and selecting a potential solution, further comprises: extracting, by one or more processors, a stack-trace from the new problem report; identifying, by one or more processors, a set of problem reports and authorized analysis reports from the grouped problem reports and authorized analysis reports that have a similar stack-trace to the extracted stack trace; and selecting, by one or more processors, a potential solution from among program temporary fixes associated with the similar stack trace. 7 . The method of claim 1 , further comprising: scheduling, by one or more processors, user determined scans for new or updated problem reports or authorized analysis reports; creating, by one or more processors, a diagnosis report listing all problem reports and patches with its authorized analysis report; and reporting, by one or more processors, results to system administrators and logging the results into an external repository. 8 . A computer program product for diagnosing software crashes, including one or more computer-readable storage media and program instructions stored on at least one of the one or more storage media, wherein execution of the program instructions by one or more processors of a computer system causes the one or more processors to perform a method comprising: retrieving, by one or more processors, a stack-trace from at least one of a new problem report, updated problem report and authorized analysis report from a repository on one or more server computer systems; automatically creating, by one or more processors, a vector from the retrieved stack-trace, wherein each function name within the stack-trace is a dimension of the resultant vector, and the vector is associated with the problem report and authorized analysis report containing the stack-trace; calculating, by one or more processors, using vector space modeling, angles between resultant vectors to define similarities in problem reports and authorized analysis reports, wherein problem reports and authorized analysis reports are deemed similar where angles between resultant vectors are less than a threshold value; grouping, by one or more processors, the problem reports and authorized analysis reports into similar sets using a maximal cliques process; and automatically diagnosing, by one or more processors, in response to a new software crash, a new stack-trace extracted from a new problem report of the new software crash, and selecting a potential solution by searching the grouped problem reports and authorized analysis reports for a stack-trace similar to the new stack-trace. 9 . The computer program product of claim 8 , wherein program instructions causing the one or more processors to perform the step of retrieving a stack-trace from at least one of a new problem report, updated problem report and authorized analysis report from a repository on one or more server computer systems further comprises program instructions causing the one or more processors to perform the steps of: scanning, by one or more processors, for at least one of a new problem report, updated problem report and authorized analysis report files; and parsing, by one or more processors, the stack-traces from said at least one of new problem report, updated problem report and authorized analysis report files. 10 . The computer program product of claim 8 , wherein program instructions causing the one or more processors to perform the step of automatically creating a vector from the retrieved stack-trace further comprises program instructions causing the one or more processors to perform the step of: determining, by one or more processors, length of the vectors in each dimension by their offsets in the stack-trace. 11 . The co

Assignees

Inventors

Classifications

  • Storage of error reports, e.g. persistent data storage, storage using memory protection · CPC title

  • by tracing the execution of the program · CPC title

  • Error or fault detection not based on redundancy (power supply failures G06F1/30; network fault management H04L41/06) · CPC title

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

  • Error or fault reporting or storing · 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 US2016110238A1 cover?
A method for diagnosing software crashes includes retrieving a stack-trace from at least one of a new problem report, updated problem report, and authorized analysis report from a repository. A vector is automatically created from the retrieved stack-trace using the function name and associating the resultant vector with the problem report and authorized analysis reports. Vector space modeling …
Who is the assignee on this patent?
IBM
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 Thu Apr 21 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).