System and method for troubleshooting software configuration problems using application tracing
First Claim
1. A method for analyzing a software configuration on a computer system, the method comprising:
- tracing an execution of an application computer program on the computer system by attaching an application program interface tracer to the application;
collecting trace data relating to the execution of the application and storing the trace data in a first application signature;
generating reference data from at least one source selected from the group comprising, known computer system configuration errors, a second application signature corresponding to executing the application using a known software configuration, and a static configuration of a reference computer;
selectively analyzing differences between the first application signature and the reference data, wherein selectively analyzing differences comprises distinguishing a first state for each of a plurality of first objects in the first application signature and a second state for each of a plurality of corresponding second objects in the reference data; and
prioritizing a plurality of combinations of the first state and the second state to denote a likelihood, relative to the plurality of combinations, of causing the application to execute incorrectly.
7 Assignments
0 Petitions
Accused Products
Abstract
A software system is disclosed which facilitates the process of tracing the execution paths of a program, called a client or application. Trace data corresponding to selected system resources that interact with the execution of the application is collected during the tracing operation and stored in an application signature. A computer system user can generate trace options, trace the application, and compare the application signature to a known software configuration. The application signature is compared to a reference signature created by tracing the execution of the application on a system with the known software configuration. In another embodiment, the application signature is compared to a static configuration of a reference computer.
249 Citations
5 Claims
-
1. A method for analyzing a software configuration on a computer system, the method comprising:
-
tracing an execution of an application computer program on the computer system by attaching an application program interface tracer to the application; collecting trace data relating to the execution of the application and storing the trace data in a first application signature; generating reference data from at least one source selected from the group comprising, known computer system configuration errors, a second application signature corresponding to executing the application using a known software configuration, and a static configuration of a reference computer; selectively analyzing differences between the first application signature and the reference data, wherein selectively analyzing differences comprises distinguishing a first state for each of a plurality of first objects in the first application signature and a second state for each of a plurality of corresponding second objects in the reference data; and prioritizing a plurality of combinations of the first state and the second state to denote a likelihood, relative to the plurality of combinations, of causing the application to execute incorrectly.
-
-
2. A method for analyzing a software configuration on a computer system, the method comprising:
-
tracing an execution of an application computer program on the computer system by attaching an application program interface tracer to the application; collecting trace data relating to the execution of the application and storing the trace data in a first application signature; generating reference data from at least one source selected from the group comprising, known computer system configuration errors, a second application signature corresponding to executing the application using a known software configuration, and a static configuration of a reference computer; selectively analyzing differences between the first application signature and the reference data, wherein selectively analyzing differences comprises distinguishing a first state for each of a plurality of first objects in the first application signature and a second state for each of a plurality of corresponding second objects in the reference data; and filtering the plurality of first objects and the plurality of second objects according to object type.
-
-
3. A method for analyzing a software configuration on a computer system, the method comprising:
-
tracing an execution of an application computer program on the computer system by attaching an application program interface tracer to the application; collecting trace data relating to the execution of the application and storing the trace data in a first application signature; generating reference data from at least one source selected from the group comprising, known computer system configuration errors, a second application signature corresponding to executing the application using a known software configuration, and a static configuration of a reference computer; selectively analyzing differences between the first application signature and the reference data, wherein selectively analyzing differences comprises distinguishing a first state for each of a plurality of first objects in the first application signature and a second state for each of a plurality of corresponding second objects in the reference data; and editing the reference data to specify multiple versions of application modules.
-
-
4. A software system for troubleshooting a configuration problem of a software application, the software system comprising:
-
a first code module loaded into a memory of a first computer system, said first code module configured to trace the execution of the application by attaching to a memory image of the application and to generate traced data corresponding to a plurality of system resources accessed by the application during execution, and further configured to store said traced data in a computer storage device; and a second code module loaded into a memory of a second computer system, said second code module configured to correlate the traced data to reference data corresponding to a known software configuration and to display on a display provided to said second computer system the correlated traced data and reference data for analysis, wherein the second code module comprises; a first user interface configured to selectively display on said display first object properties from the traced data associated with each of the plurality of system resources and further configured to filter the first object properties according to a desired pattern; and a second user interface configured to selectively display on said display a comparison of the first object properties with corresponding second object properties from the reference data.
-
-
5. A software system for troubleshooting a configuration problem of a software application, the software system comprising:
-
a first code module loaded into a memory of a first computer system, said first code module configured to trace the execution of the application by attaching to a memory image of the application and to generate traced data corresponding to a plurality of system resources accessed by the application during execution, and further configured to store said traced data in a computer storage device; and a second code module loaded into a memory of a second computer system, said second code module configured to correlate the traced data to reference data corresponding to a known software configuration and to display on a display provided to said second computer system the correlated traced data and reference data for analysis, wherein the second code module comprises; a first user interface configured to selectively display on said display first object properties from the traced data associated with each of the plurality of system resources; and a second user interface configured to selectively display on said display a comparison of the first object properties with corresponding second object properties from the reference data and further configured to selectively filter the first object properties and corresponding second object properties according to a desired pattern.
-
Specification