IP Library Granted Patent US 8,473,919
Granted Patent B2
US 8,473,919 · App. 12/023,850 · Granted Jun 25, 2013

System and method for repeating program flow for debugging and testing

Inventor: James Robert Cutler (Steubenville, OH)
Assignee: CA, Inc.
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 8,473,919
App. No.
12/023,850
Granted
Jun 25, 2013
Kind
B2
Abstract

A method for repeating program flow for debugging and testing purposes comprises storing function call data in one or more files and retrieving the recorded data from the one or more files. The method further comprises using the recorded data to recreate an execution path of a program. Additionally, the method comprises analyzing the execution path to determine a source of an error in the program.

Claims (36)

1. A method executable by a processor, comprising:

storing function call data in one or more files by serializing the function call data;

retrieving the stored function call data from the one or more files by deserializing the function call data;

recreating an execution path of a program using the function call data; and

analyzing the execution path to determine a source of an error in the program, and

parsing the program with a script to identify a function associated with the function call data and, in response to identifying the function, inserting code at an entry point and at an exit point of the function to enable record and replay of inputs and outputs of the function.

2. The method of claim 1 , wherein storing function call data is automatically triggered when an error is generated by a function call in the program.

3. The method of claim 1 , wherein the function call data comprises function call inputs and reference parameters.

4. The method of claim 1 , wherein analyzing the execution path comprises using a debugger.

5. The method of claim 1 , further comprising altering code in the program to correct the error in the program.

6. The method of claim 5 , further comprising testing the altered code using the recorded data.

7. A system, comprising:

an interface;

a processor;

a storage device embodying a program of instructions operable, when executed on the processor to:

store function call data in one or more files by serializing the function call data;

retrieve the stored function call data from the one or more files by deserializing the function call data;

recreate an execution path of a program using the function call data; and

analyze the execution path to determine a source of an error in the program, and

parse the program with a script to identify a function associated with the function call data and, in response to identifying the function, insert code at an entry point and at an exit point of the function to enable record and replay of inputs and outputs of the function.

8. The system of claim 7 , wherein the program of instructions is further operable to automatically store function call data when an error is generated by a function call in the program.

9. The system of claim 7 , wherein the function call data comprises function call inputs and reference parameters.

10. The system of claim 7 , wherein the program of instructions is further operable to analyze the execution path using a debugger.

11. The system of claim 7 , wherein the program of instructions is further operable to alter code in the program to correct the error in the program.

12. The method of claim 11 , wherein the program of instructions is further operable to test the altered code using the recorded data.

13. Logic encoded in a non-transitory computer readable medium and operable, when executed on a processor to:

store function call data in one or more files by serializing the function call data;

retrieve the stored function call data from the one or more files by deserializing the function call data;

recreate an execution path of a program using the function call data; and

analyze the execution path to determine a source of an error in the program, and

parse the program with a script to identify a function associated with the function call data and, in response to identifying the function, insert code at an entry point and at an exit point of the function to enable record and replay of inputs and outputs of the function.

14. The logic of claim 13 , wherein the logic is further operable to automatically store function call data when an error is generated by a function call in the program.

15. The logic of claim 13 , wherein the function call data comprises function call inputs and reference parameters.

16. The logic of claim 13 , wherein analyzing the execution path comprises using a debugger.

17. The logic of claim 13 , wherein the logic is further operable to alter code in the program to correct the error in the program.

18. The logic of claim 17 , the logic is further operable to test the altered code using the recorded data.

Assignments (2)
MERGER Recorded Mar 20, 2013
From: COMPUTER ASSOCIATES THINK, INC.
To: CA, INC.
Reel/Frame 030051/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2008
From: CUTLER, JAMES ROBERT
To: COMPUTER ASSOCIATES THINK INC.
Reel/Frame 020452/0201 →
Continuity (1)
Related Publication 20090199161A1 · Aug 6, 2009