IP Library › Granted Patent US 10,204,030
Granted Patent B1
US 10,204,030 · App. 15/727,670 · Granted Feb 12, 2019

Debug session tree recorder with generic playback

Inventors: Hugh E. Hockett (Raleigh, NC); Keith A. Rafferty (Wake Forest, NC); James C. Riordan (Raleigh, NC); Christopher M. Laffoon (Durham, NC); Giribabu V. Paramkusham (Morrisville, NC); Harish Sukhwani (Durham, NC); Nicholas C. Schambureck (Rochester, MN)
Assignee: International Business Machines Corporation
G06F11/3636G06F11/3624G06F11/366
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,204,030
App. No.
15/727,670
Granted
Feb 12, 2019
Kind
B1
Abstract

Specific example debugging sessions are used to generate a generic decision tree (flow diagram) for use in future debugging sessions. Debug metadata is recorded for each debugging session. The debug metadata includes log file accesses and key traces. A generic decision tree is generated for use in future debugging sessions. Each file accessed by a developer during debug sessions creates a node in the generic decision tree. Branches of the decision tree are created between the nodes by aggregating the plurality of debug sessions together based on similarities and differences among the file accesses and results for the various debug sessions. The recorded metadata is genericized by identifying specific actions taken by developers and specific results thereof. The actions and results are abstracted to create more general types of actions and results such that the generic decision tree is applicable to a wider variety of problems in the software program.

Claims (70)

1. A method for generating and playing back a decision tree for use in software debugging sessions, the method comprising:

recording debug actions, results and debug metadata for a first debugging session relating to a problem in a software program, wherein the debug metadata includes information pertaining to log file accesses and key traces conducted during the first of debugging session;

genericizing a debug action to produce a genericized debug action;

generating a generic decision tree based on the genericized debug action, results and debug metadata pertaining to the first debugging session; and

automatically performing debug actions based on the generic decision tree, with respect to a second software problem, to identify a root cause of the second software problem;

wherein at least one file accessed during a debug session creates a node in the generic decision tree.

2. The method of claim 1 , further comprising:

aggregating a plurality of debug sessions together, based on similarities and differences in file accesses and results corresponding to the plurality of debug sessions, to produce branches of the generic decision tree.

3. The method of claim 1 , further comprising:

identifying a specific action taken by a user with respect to debugging a software error;

producing a specific result based on the specific action;

abstracting the specific action and the specific result to produce genericized metadata; and

recording the genericized metadata in the generic decision tree.

4. The method of claim 1 , wherein the debug metadata includes at least one of:

a debug step taken;

an annotation made with respect to a search result;

an annotation identifying a debug step taken

a regular expression;

a search string;

a pointer reference to a log file;

a file name; and

a variable that references a file name defined in a collection set to be generically used for other collections sets.

5. A computer program product comprising:

one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising instructions to perform:

recording debug actions, results and debug metadata for a first debugging session relating to a problem in a software program, wherein the debug metadata includes information pertaining to log file accesses and key traces conducted during the first of debugging session;

genericizing a debug action to produce a genericized debug action;

generating a generic decision tree based on the genericized debug action, results and debug metadata pertaining to the first debugging session; and

automatically performing debug actions based on the generic decision tree, with respect to a second software problem, to identify a root cause of the second software problem;

wherein at least one file accessed during a debug session creates a node in the generic decision tree.

6. The computer program product of claim 5 , further comprising instructions to perform:

aggregating a plurality of debug sessions together, based on similarities and differences in file accesses and results corresponding to the plurality of debug sessions, to produce branches of the generic decision tree.

7. The computer program product of claim 5 , further comprising instructions to perform:

identifying a specific action taken by a user with respect to debugging a software error;

producing a specific result based on the specific action;

abstracting the specific action and the specific result to produce genericized metadata; and

recording the genericized metadata in the generic decision tree.

8. The computer program product of claim 5 , wherein the debug metadata includes at least one of:

a debug step taken;

an annotation made with respect to a search result;

an annotation identifying a debug step taken

a regular expression;

a search string;

a pointer reference to a log file;

a file name; and

a variable that references a file name defined in a collection set to be generically used for other collections sets.

9. A computer system comprising:

one or more computer processors;

one or more computer-readable storage media;

program instructions stored on the computer-readable storage media for execution by at least one of the one or more processors, the program instructions comprising instructions to perform:

recording debug actions, results and debug metadata for a first debugging session relating to a problem in a software program, wherein the debug metadata includes information pertaining to log file accesses and key traces conducted during the first of debugging session;

genericizing a debug action to produce a genericized debug action;

generating a generic decision tree based on the genericized debug action, results and debug metadata pertaining to the first debugging session; and

automatically performing debug actions based on the generic decision tree, with respect to a second software problem, to identify a root cause of the second software problem;

wherein at least one file accessed during a debug session creates a node in the generic decision tree.

10. The computer system of claim 9 , further comprising instructions to perform:

aggregating a plurality of debug sessions together, based on similarities and differences in file accesses and results corresponding to the plurality of debug sessions, to produce branches of the generic decision tree.

11. The computer system of claim 9 , further comprising instructions to perform:

identifying a specific action taken by a user with respect to debugging a software error;

producing a specific result based on the specific action;

abstracting the specific action and the specific result to produce genericized metadata; and

recording the genericized metadata in the generic decision tree.

12. The computer system of claim 9 , wherein the debug metadata includes at least one of:

a debug step taken;

an annotation made with respect to a search result;

an annotation identifying a debug step taken

a regular expression;

a search string;

a pointer reference to a log file;

a file name; and

a variable that references a file name defined in a collection set to be generically used for other collections sets.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2017
From: HOCKETT, HUGH E.; RAFFERTY, KEITH A.; RIORDAN, JAMES C.; LAFFOON, CHRISTOPHER M.; PARAMKUSHAM, GIRIBABU V.; SUKHWANI, HARISH; SCHAMBURECK, NICHOLAS C.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 043811/0887 →
Cited By (1)
US 12,189,816