Visualization method and system for dynamically displaying operations of a program
First Claim
1. A method of identifying operations of a computer program comprising steps of:
- generating a representation of said computer program such that said representation includes nodes associated with events executable via said computer program;
initiating said computer program to establish a run-time for execution of said events;
forming a visual display of said representation during said run-time;
monitoring said executions of said events during said run-time; and
manipulating said visual display during said run-time, including identifying said nodes at run-time in response to said executions, thereby visually indicating each execution of each said event by identifying said nodes with which said events are associated.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and system of identifying operations of one or more computer programs include generating a representation of the programs as a visual display of graphs and manipulating the visual display while the program is executed. The manipulation of the display provides a visual indication of threads of execution of the events. In one selectable implementation, the threads of execution are indicated by forming traces that link nodes of a graph, where the nodes are representative of the sequentially occurring events. The dynamic visualization at run-time may be enabled by augmenting the source code of the computer program with stubs that uniquely identify blocks and lines of source code. Each executable event within the program may be uniquely associated with a stub that forms a message to a run-time visualizer as the executable event is triggered during run-time. The dynamic visualization may be set in a speed-controllable continuous execution mode or in a step-by-step execution mode. Optionally, the user can collapse, or cause to disappear, selected portions of the graph of nodes, thereby reducing the processing overhead imposed by the system. The user may also set a breakpoint at a particular node, so that the program stops when the execution path of a thread reaches the breakpoint. A user may associate one or more nodes with the launching of an external application, thereby augmenting the functionality of an existing program or programs at run-time, without requiring recompilation of the programs. Static visualization is also enabled.
-
Citations
22 Claims
-
1. A method of identifying operations of a computer program comprising steps of:
-
generating a representation of said computer program such that said representation includes nodes associated with events executable via said computer program;
initiating said computer program to establish a run-time for execution of said events;
forming a visual display of said representation during said run-time;
monitoring said executions of said events during said run-time; and
manipulating said visual display during said run-time, including identifying said nodes at run-time in response to said executions, thereby visually indicating each execution of each said event by identifying said nodes with which said events are associated. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for identifying operations of a computer program at run-time comprising:
-
graphing means for generating a graph that is representative of said computer program, said graphing means being responsive to identification of blocks of code in said computer program such that said graph includes an arrangement of nodes indicative of said blocks;
monitor means for monitoring operations of said computer program at run-time to recognize accesses to said blocks during said run-time of said computer program;
a display for visually presenting said graph during said run-time; and
indicator means, responsive to said monitor means, for manipulating said display to visually link nodes of said graph in response to said accesses to said blocks, said manipulating occurring during said run-time and being indicative of a sequence of said accesses. - View Dependent Claims (13, 14, 15)
-
-
16. A method of visualizing structure of a computer program comprising steps of:
-
accessing source code of said computer program;
identifying blocks within said source code;
forming a graph of said computer program based upon said blocks, including organizing said graph as a static arrangement of nodes such that at least some of said nodes represent said blocks;
displaying said graph as said static arrangement of nodes;
executing said computer program while said graph is displayed; and
dynamically displaying threads of execution in running said computer program, including indicating active nodes of said graph a run-time such that sequences of node access are graphically displayed during running of said computer program. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
Specification