Claims Analysis
Total Claims: 35
Claim 1
Independent Claim
299 words
A software system that facilitates the process of identifying and isolating bugs within a plurality of programs each running one or more threads, without requiring modifications to executable or source code files of said programs, each of said programs including at least a source code representation, an executable code representation, and build information that links the source code representation to the executable code representation, the build information generated during building of the executable representation from the source code representation, the software system comprising: a first user interface module that displays source code elements of one or more source programs on a display screen together with controls that enable a software developer to interactively specify one or more source code elements to be traced, the first user interface module configured to generate trace control information based on selections by said developer of said source code elements to be traced, said first user interface module using at least said build information to generate said trace control information; a first library module configured to attach to a memory image of a first process executing a first program, said first library module configured to use said trace control information to monitor execution of said first program and to generate first trace information; a second library module configured to attach to a memory image of a second process executing a second program, said second library module configured to use said trace control information and to monitor execution of said second program and to generate second trace information; and a second user interface module that translates said first and second trace information into a human-readable form based at least on said build information, and displays translated information on a display screen to allow said developer to analyze the execution of said first and second programs.
Claim 2
Dependent Claim
299 words
A software system that facilitates the process of identifying and isolating bugs within a plurality of programs each running one or more threads, without requiring modifications to executable or source code files of said programs, each of said programs including at least a source code representation, an executable code representation, and build information that links the source code representation to the executable code representation, the build information generated during building of the executable representation from the source code representation, the software system comprising: a first user interface module that displays source code elements of one or more source programs on a display screen together with controls that enable a software developer to interactively specify one or more source code elements to be traced, the first user interface module configured to generate trace control information based on selections by said developer of said source code elements to be traced, said first user interface module using at least said build information to generate said trace control information; a first library module configured to attach to a memory image of a first process executing a first program, said first library module configured to use said trace control information to monitor execution of said first program and to generate first trace information; a second library module configured to attach to a memory image of a second process executing a second program, said second library module configured to use said trace control information and to monitor execution of said second program and to generate second trace information; and a second user interface module that translates said first and second trace information into a human-readable form based at least on said build information, and displays translated information on a display screen to allow said developer to analyze the execution of said first and second programs.
Claim 3
Dependent Claim
47 words
The software system of claim 1 , wherein said first and second library modules are adapted to be executed separately from said first and second user interface modules, the system thereby enabling a developer to remotely control and evaluate the tracing of said first and second programs.
Claim 4
Dependent Claim
155 words
A software execution tracing system loaded into a computer memory for tracing a plurality of concurrently running client programs, each of said currently running client programs having at least a source code representation and an executable code representation, said software system comprising: a first trace library module that attaches at runtime to a memory image of a first running program, said first running program being one of said client programs, said first trace library module configured to monitor execution of said first running program and to generate first trace information that reflects execution of said first running program; and a second trace library module that attaches at runtime to a memory image of a second running program, said second running program being one of said client programs, said second trace library module configured to monitor execution of said second running program and to generate second trace information that reflects execution of said second running program.
Claim 5
Dependent Claim
155 words
A software execution tracing system loaded into a computer memory for tracing a plurality of concurrently running client programs, each of said currently running client programs having at least a source code representation and an executable code representation, said software system comprising: a first trace library module that attaches at runtime to a memory image of a first running program, said first running program being one of said client programs, said first trace library module configured to monitor execution of said first running program and to generate first trace information that reflects execution of said first running program; and a second trace library module that attaches at runtime to a memory image of a second running program, said second running program being one of said client programs, said second trace library module configured to monitor execution of said second running program and to generate second trace information that reflects execution of said second running program.
Claim 6
Dependent Claim
37 words
The software system of claim 3 , wherein said first and second trace library modules are configured to run under the control of a multi-processing operating system wherein said first and second running programs are running concurrently.
Claim 7
Dependent Claim
35 words
The software system of claim 4 , wherein said first and second trace library modules are configured to run under the control of an operating system wherein said first and second running programs are multithreaded.
Claim 8
Dependent Claim
26 words
The software system of claim 3 , wherein said first and second trace library modules are configured to generate trace information according to trace control information.
Claim 9
Dependent Claim
32 words
The software system of claim 3 , wherein said first trace library module and said second trace library module are configured to run at the same time on a multi-processor computer system.
Claim 10
Dependent Claim
26 words
The software system of claim 3 , further comprising a display module configured to display at least a part of said first and second trace information.
Claim 11
Dependent Claim
32 words
The software system of claim 8 , wherein said display module displays translated trace information on a display screen during execution of at least one of said first and second running programs.
Claim 12
Dependent Claim
41 words
The software system of claim 8 , wherein said display module provides an offline analysis mode which provides functionality for interactively analyzing translated trace information after the monitoring of at least one of said first and second running programs has completed.
Claim 13
Dependent Claim
33 words
The software system of claim 8 , wherein said display module is configured to translate at least part of said first trace information into a human-readable form based on at least build information.
Claim 14
Dependent Claim
28 words
The software system of claim 11 , wherein said build information comprises debug information generated by a compiler program during compilation of said first client source code representation.
Claim 15
Dependent Claim
17 words
The software system of claim 8 , wherein said display module is configured to display process information.
Claim 16
Dependent Claim
34 words
The software system of claim 8 , wherein said display module is configured to display information showing when said first running program is executing in relation to when said second running program is executing.
Claim 17
Dependent Claim
30 words
The software system of claim 8 , wherein said display module is configured to show a temporal relationship between execution of said first running program and said second running program.
Claim 18
Dependent Claim
220 words
A software execution tracing system loaded into a computer memory for tracing a plurality of concurrently running client programs, each of said currently running client programs having at least a source code representation and an executable code representation, said software system comprising: a first trace library module that attaches during runtime to a memory image of a first running program, said first running program being one of said client programs, said first trace library module configured to monitor execution of said first running program and to generate first trace information that reflects execution of said first running program; and a second trace library module that attaches during runtime to a memory image of a second running program, said second running program being one of said client programs, said second trace library module configured to monitor execution of said second running program and to generate second trace information that reflects execution of said second running program wherein said first and second trace library modules are configured to run under the control of a multi-processing operating system, said first trace library module configured to run in a process memory space that has been allocated to said first running program and said second trace library module configured to run in a process memory space that has been allocated to said second running program.
Claim 19
Dependent Claim
220 words
A software execution tracing system loaded into a computer memory for tracing a plurality of concurrently running client programs, each of said currently running client programs having at least a source code representation and an executable code representation, said software system comprising: a first trace library module that attaches during runtime to a memory image of a first running program, said first running program being one of said client programs, said first trace library module configured to monitor execution of said first running program and to generate first trace information that reflects execution of said first running program; and a second trace library module that attaches during runtime to a memory image of a second running program, said second running program being one of said client programs, said second trace library module configured to monitor execution of said second running program and to generate second trace information that reflects execution of said second running program wherein said first and second trace library modules are configured to run under the control of a multi-processing operating system, said first trace library module configured to run in a process memory space that has been allocated to said first running program and said second trace library module configured to run in a process memory space that has been allocated to said second running program.
Claim 20
Independent Claim
94 words
A method for simultaneously tracing the execution path of first and second client programs, said first client program having a first memory image and said second client program having a second memory image, the method comprising the steps of: instrumenting said first memory image at runtime to enable execution of said first client program to be traced; instrumenting said second memory image at runtime to enable execution of said second client program to be traced; and collecting trace data relating to a concurrent execution of said first client program and said second client program.
Claim 21
Independent Claim
94 words
A method for simultaneously tracing the execution path of first and second client programs, said first client program having a first memory image and said second client program having a second memory image, the method comprising the steps of: instrumenting said first memory image at runtime to enable execution of said first client program to be traced; instrumenting said second memory image at runtime to enable execution of said second client program to be traced; and collecting trace data relating to a concurrent execution of said first client program and said second client program.
Claim 22
Dependent Claim
23 words
The method of claim 17 , wherein said concurrent execution comprises time-shared execution of said first client program and said second client program.
Claim 23
Dependent Claim
28 words
The method of claim 17 , wherein said concurrent execution comprises parallel execution of said first client program and said second client program on a multi-processor computer system.
Claim 24
Dependent Claim
21 words
The method of claim 17 , wherein said second client program is executed in a sub-process of said first client program.
Claim 25
Dependent Claim
16 words
The method of claim 17 , wherein said first client program is a dynamic link library.
Claim 26
Dependent Claim
21 words
The method of claim 17 , wherein said first memory image and said second memory image are in separate address spaces.
Claim 27
Dependent Claim
15 words
The method of claim 17 , wherein said trace data is stored in shared memory.
Claim 28
Dependent Claim
26 words
The method of claim 17 , wherein said step of instrumenting said first memory image comprises attaching a trace library module to said first memory image.
Claim 29
Dependent Claim
15 words
The method of claim 17 , further comprising the step of analyzing said trace data.
Claim 30
Dependent Claim
20 words
The method of claim 25 , wherein said step of analyzing comprises translating said trace information into a human-readable form.
Claim 31
Dependent Claim
25 words
The method of claim 25 , wherein said step of analyzing comprises translating said trace data into human-readable data based on at least build information.
Claim 32
Dependent Claim
18 words
The method of claim 25 , wherein said step of analyzing comprises displaying an execution call tree display.
Claim 33
Dependent Claim
34 words
The method of claim 28 , wherein said execution call tree display shows a first execution call tree for said first client program and a second execution call tree for said second client program.
Claim 34
Dependent Claim
28 words
The method of claim 28 , wherein said execution call tree display shows a temporal relationship between execution of said first client program and said second client program.
Claim 35
Dependent Claim
21 words
The method of claim 28 , wherein said execution call tree display shows execution call trees for a plurality of threads.