Algorithm to create and compare debug scenarios of a computer process
First Claim
1. A matching algorithm, comprising:
- (a) determining what restorable debug entities comprise a scenario of a computer program, (b) assigning an individual weight to each of the restorable debug entities; and
(c) given any two scenarios, comparing the restorable debug entities of each scenario to determine the extent of similarity between the scenarios.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer program debugger is disclosed which stores previous programs which have been debugged and the debug parameters which were considered when debugging. When a new computer program is to be debugged, the new debugger is invoked and it automatically compares the executing program to be debugged with the previous programs. When one or more of the debug parameters are so similar that it can be said that the computer program undergoing debugging matches a previously stored computer program, a user is given options to display the matching programs, the modules, the functions, the lines, and the debug parameters and to exchange debug parameters between the programs which can be used to modify the either or any of the programs. The user is further given the option to store the current program undergoing debugging as a new program to be considered in matching the next program to be debugged. It is further envisioned that the various debug scenarios may be stored and can be recalled separately from the program that generates or uses them.
45 Citations
23 Claims
-
1. A matching algorithm, comprising:
-
(a) determining what restorable debug entities comprise a scenario of a computer program, (b) assigning an individual weight to each of the restorable debug entities; and
(c) given any two scenarios, comparing the restorable debug entities of each scenario to determine the extent of similarity between the scenarios. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A matching algorithm, comprising:
-
(a) determining that a scenario may comprise a plurality of restorable debug entities, each of which may further comprise one or more of the following;
at least one breakpoint and/or a location of the at least one breakpoint, at least one operation and/or a location of the at least one operation, at least one expression and/or a location and/or a value of the at least one expression;
(b) assigning an individual weight to each of the restorable debug entities;
(c) given a current scenario and at least one previous scenario, comparing the restorable debug entities of the current scenario to the restorable debug entities of at least one previous scenario to determine the extent of similarity between the scenarios;
(d) establishing and storing the current scenario if the scenarios are different;
(e) recognizing that a previous scenario has been stored;
(f) restoring the previous scenario;
(g) modifying the current scenario by incorporating the debug entities of the previous scenario and/or modifying the previous scenario by incorporating the debug entities of the current scenario.
-
-
13. A method of debugging a computer program, comprising the steps of:
-
(a) monitoring a number of parameters that can be used to debug a computer program;
(b) comparing at least one environment in which at least one of the parameters are referenced during the execution of the program;
(c) determining that the at least one environment is similar to an executing portion of the computer program because of a similarity of at least one of the parameters;
(d) retrieving and displaying the at least one similar environment and the at least one and other parameters, if any, of the similar environment. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. An article of manufacture, comprising a data storage medium tangibly embodying a program of machine readable instructions executable by an electronic processing apparatus to perform method steps for operating an electronic processing apparatus, said method steps comprising the steps of:
-
(a) initiating a user interface to invoke execution of a computer program undergoing debugging;
(b) determining a plurality of debug entities to monitor during the execution of the computer program;
(c) monitoring the plurality of debug entities during execution of the computer program;
(d) recalling a plurality of scenarios having some of the same plurality of debug entities as those of the executing computer program;
(e) comparing the debug entities of the plurality of scenarios with the plurality of debug entities of the executing computer program;
(f) determining if any of the plurality of scenarios match the executing program based on the similarity of the debug entities;
(g) displaying those scenarios and debug entities of the displayed scenarios that match the debug entities of the executing computer program. - View Dependent Claims (20, 21)
-
-
22. An article of manufacture, comprising a data storage medium tangibly embodying a program of machine readable instructions executable by an electronic processing apparatus, comprising:
(a) a plurality of potentially matching scenarios which, when compared to a computer program undergoing debugging, may indicate that the computer program is equal to or greater than a threshold value of similarity to at least one of the matching scenarios.
-
23. An computer program debugger, comprising:
-
(a) means to call a computer program;
(b) means to set a plurality of debug parameters to monitor during execution of the computer program;
(c) means to store a plurality of scenarios of previously executed computer programs, each of said scenarios having at least one debug parameter;
(d) means to compare the debug parameters of the computer program during execution with the debug parameters of the previously executed computer programs;
(e) means to ascertain whether the computer program is similar to any of the previously executed computer programs;
(f) means to display the previously executed computer programs that are similar to the computer program;
(g) means to modify the computer program in accordance with any of the similar previously executed computer programs;
(h) means to store the computer program and its debug parameters.
-
Specification