Multiple context software analysis
First Claim
1. A method for multiple context analysis of a software application in a computer system, comprising the steps of:
- providing an instrumented software application;
selecting a context set to characterize a level of analysis to be applied to the instrumented software application;
launching the instrumented software application to produce an output for determining a usage of computer system resources by each context in the context set, wherein launching comprises;
establishing an analysis mode for enabling collection of intermediate data in accordance with the context set;
identifying a beginning of a context of the context set during execution of the instrumented software application;
allocating a memory area having a memory size requirement for storing intermediate data for the context of the context set;
providing an address for identifying the memory area for storing the intermediate data;
determining that the collection of the intermediate data is complete; and
transforming the intermediate data to produce the output for determining a usage of computer system resources by each context of a predetermined context set.
7 Assignments
0 Petitions
Accused Products
Abstract
A method for multiple context analysis of software applications in a multiprocessing (22, 23), multithreaded computer environment utilizes instrumentation code inserted (54, 55) into the applications. For each execution (67) of the application (60), a context set is selected (62). Execution of the instrumented code (67) provides information for analysis in an instrumentation buffer (82) addressed by a reserved register (80) or buffer pointer. The operating system is responsible for providing in the reserved register (80) the address of the instrumentation buffer (82) appropriate for each instrumented context executed. When the application (60) is done with an instrumentation buffer (82), the buffer may be processed by filter software (68). The combination of using a reserved register (80) and allowing the operating system to keep track of relevant context switches allows applications to be instrumented (54, 55) for various context sets without the necessity of modifying (53) or recompiling (52) the application software (60).
50 Citations
22 Claims
-
1. A method for multiple context analysis of a software application in a computer system, comprising the steps of:
-
providing an instrumented software application; selecting a context set to characterize a level of analysis to be applied to the instrumented software application; launching the instrumented software application to produce an output for determining a usage of computer system resources by each context in the context set, wherein launching comprises; establishing an analysis mode for enabling collection of intermediate data in accordance with the context set; identifying a beginning of a context of the context set during execution of the instrumented software application; allocating a memory area having a memory size requirement for storing intermediate data for the context of the context set; providing an address for identifying the memory area for storing the intermediate data; determining that the collection of the intermediate data is complete; and transforming the intermediate data to produce the output for determining a usage of computer system resources by each context of a predetermined context set. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer system for multiple context software application analysis, comprising:
-
means for storing a first data structure in a computer operating system, the first data structure for describing a predetermined context set; means for storing a second data structure in the computer operating system, the second data structure for describing a memory size requirement for storing an intermediate data for a context of the predetermined context set; means for establishing an analysis mode in the computer operating system for enabling collection of the intermediate data in accordance with the predetermined context set; means for identifying a beginning of a context of the predetermined context set during execution of an instrumented software application; means for allocating a memory area having the memory size requirement for storing the intermediate data for the context of the predetermined context set; means for providing an address for identifying the memory area for storing the intermediate data; means for determining that the collection of the intermediate data is complete; and means for transforming the intermediate data to produce output data for determining a usage of computer system resources by each context of the predetermined context set. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A machine readable media, comprising:
-
a plurality of computer instructions for establishing a first data structure in a computer operating system for describing a predetermined context set; a plurality of computer instructions for establishing a second data structure in the computer operating system for describing a memory size requirement for storing an intermediate data for a context of the predetermined context set; a plurality of computer instructions for establishing an analysis mode in the computer operating system for enabling collection of the intermediate data in accordance with the predetermined context set; a plurality of computer instructions for identifying a beginning of a context of the predetermined context set during execution of an instrumented software application; a plurality of computer instructions for allocating a memory area having the memory size requirement for storing the intermediate data for the context of the predetermined context set; a plurality of computer instructions for providing an address for identifying the memory area for storing the intermediate data; a plurality of computer instructions for determining that the collection of the intermediate data is complete; and a plurality of computer instructions for transforming the intermediate data to produce output data for determining a usage of computer system resources by each context of the predetermined context set.
-
-
14. In a computer system, a method for producing output data in response to execution of an instrumented software application in accordance with a predetermined context set, the method comprising the steps of:
-
establishing a first data structure in a computer operating system for describing the predetermined context set; establishing a second data structure in the computer operating system for describing a memory size requirement for storing an intermediate data for a context of the predetermined context set; establishing an analysis mode in the computer operating system for enabling collection of the intermediate data in accordance with the predetermined context set; identifying a beginning of a context of the predetermined context set during execution of the instrumented software application; allocating a memory area having the memory size requirement for storing the intermediate data for the context of the predetermined context set; providing an address for identifying the memory area for storing the intermediate data; determining that the collection of the intermediate data is complete; and transforming the intermediate data to produce the output data for determining a usage of computer system resources by each context of the predetermined context set. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
Specification