Patent US6106571A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6106571A Expired / Lapsed US ⏱️ 0.0 years remaining

Relocatable instrumentation tags for testing and debugging a computer program

Assignee: NXP USA Inc
•
Filing: 1998-01-29
•
Granted: 2000-08-22
•
Expires: 2018-01-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for producing a plurality of unique instrumentation tags for testing and debugging a computer program. The tags have a value equal to the combination of an offset and a base. The value for a tag offset is first determined. The tag is then inserted into an area of interest within the source code being instrumented. The base value is set when the object code for the computer program is linked to form executable code. The base value is resolved such that each tag has a unique value in comparison with any other tag. The source code being instrumented with tagging statements can reside on more than one computer. Moreover, the instrumented source code can be compiled on more than one computer. The unique value associated with each tagging statement is recorded in an instrumentation database, which facilitates observation of the instrumented program during its execution.

Inventors

  • 👤 Sidney R. Maxwell

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 15:40
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/362; G06F11/3644; G06F11/3624

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 211 words
A method in a computer system for instrumenting a computer program having a plurality of source code modules, the method comprising: for each source code module, generating a base variable having a name that is unique to the source code module; for each instrumentation point in the source code module, generating an offset value that is unique within the source code module to the instrumentation point; and inserting a tagging assignment statement at the instrumentation point, the tagging assignment statement for setting a tagging variable to a combination of the generated offset value and a value of the base variable; and compiling the instrumented source code module; for each generated base variable, generating a source code statement that sets the base variable to a unique value such that combination of a generated offset value and of a value of base variable uniquely identifies each instrumentation point and the unique value of the tagging variable at each instrumentation point avoids a predetermined range of values; compiling the generated source code statements; and linking the compiled instrumented source code modules with the compiled generated source code statements to form a linked program so that during execution of the linked program the tagging variable is set to a unique value at each instrumentation point.
Claim 2
Independent Claim 211 words
A method in a computer system for instrumenting a computer program having a plurality of source code modules, the method comprising: for each source code module, generating a base variable having a name that is unique to the source code module; for each instrumentation point in the source code module, generating an offset value that is unique within the source code module to the instrumentation point; and inserting a tagging assignment statement at the instrumentation point, the tagging assignment statement for setting a tagging variable to a combination of the generated offset value and a value of the base variable; and compiling the instrumented source code module; for each generated base variable, generating a source code statement that sets the base variable to a unique value such that combination of a generated offset value and of a value of base variable uniquely identifies each instrumentation point and the unique value of the tagging variable at each instrumentation point avoids a predetermined range of values; compiling the generated source code statements; and linking the compiled instrumented source code modules with the compiled generated source code statements to form a linked program so that during execution of the linked program the tagging variable is set to a unique value at each instrumentation point.
Claim 3
Dependent Claim 38 words
The method of claim 1 further including inserting a declaration statement for the generated base variable in each source code module, the declaration statement indicating that the generated base variable is defined externally to the source code module.
Claim 4
Dependent Claim 36 words
The method of claim 1 further including inserting a declaration statement for the tagging variable in each source code module, the declaration statement indicating that the tagging variable is defined externally to the source code module.
Claim 5
Dependent Claim 20 words
The method of claim 1 further including storing the name of the generated base variable in an information data repository.
Claim 6
Independent Claim 157 words
A system for instrumenting a computer program having a plurality of source code modules with a plurality of tagging assignment statements, each tagging assignment statement for specifying a unique value for a tagging variable by combining an offset value with a base value, the system comprising: an offset tagging instrumenter which inserts tagging assignment statements into source code modules of the computer program and which generated the offset value for each tagging assignment statement; and a base value resolver which generates the base value for each source code module of the plurality of source code modules such that the value of the tagging variable is unique at each tagging assignment statement, wherein the base value resolver retrieves a range of previously assigned values for the tagging variable and determines the base value such that the value of the tagging variable at each tagging variable assignment statement avoids the range of previously assigned values for the tagging variable.
Claim 7
Independent Claim 157 words
A system for instrumenting a computer program having a plurality of source code modules with a plurality of tagging assignment statements, each tagging assignment statement for specifying a unique value for a tagging variable by combining an offset value with a base value, the system comprising: an offset tagging instrumenter which inserts tagging assignment statements into source code modules of the computer program and which generated the offset value for each tagging assignment statement; and a base value resolver which generates the base value for each source code module of the plurality of source code modules such that the value of the tagging variable is unique at each tagging assignment statement, wherein the base value resolver retrieves a range of previously assigned values for the tagging variable and determines the base value such that the value of the tagging variable at each tagging variable assignment statement avoids the range of previously assigned values for the tagging variable.
Claim 8
Dependent Claim 58 words
The system of claim 5 wherein the offset tagging instrumenter inserts at least one tagging variable assignment statement into a first source code module of the computer program residing on a first computer and inserts at least one other tagging variable assignment statement into a second source code module of the computer program residing on a second computer.
Claim 9
Dependent Claim 20 words
The system of claim 5 wherein the tagging offset instrumenter registers each tagging assignment statement in an instrumentation data repository.
Claim 10
Independent Claim 140 words
A method for producing a plurality of unique values for a tagging variable used for instrumenting a computer program, the method comprising: for each instrumentation point in the computer program, inserting a tagging assignment statement that sets the tagging variable to a value; generating object code for the computer program with the inserted tagging assignment statements; when object code of the computer program is linked to form executable code, adjusting the computer program so that each tagging assignment statement sets the tagging variable to a unique value, wherein the computer program includes a plurality of modules and the tagging assignment statement combines a tagging offset value with a tagging base value to generate the value such that the combination uniquely identifies each instrumentation point, and wherein a base value for each module is established when the computer program is adjusted.
Claim 11
Independent Claim 140 words
A method for producing a plurality of unique values for a tagging variable used for instrumenting a computer program, the method comprising: for each instrumentation point in the computer program, inserting a tagging assignment statement that sets the tagging variable to a value; generating object code for the computer program with the inserted tagging assignment statements; when object code of the computer program is linked to form executable code, adjusting the computer program so that each tagging assignment statement sets the tagging variable to a unique value, wherein the computer program includes a plurality of modules and the tagging assignment statement combines a tagging offset value with a tagging base value to generate the value such that the combination uniquely identifies each instrumentation point, and wherein a base value for each module is established when the computer program is adjusted.
Claim 12
Dependent Claim 20 words
The method of claim 8 wherein the tagging assignment statement combines a tagging offset value with a tagging base value.
Claim 13
Dependent Claim 16 words
The method of claim 8 wherein adjusting the computer program includes establishing the tagging base value.
Claim 14
Dependent Claim 39 words
The method of claim 8 wherein the tagging assignment statement sets the tagging variable to a constant value and wherein the adjusting of the computer program set the constant value for each tagging assignment statement to the unique value.
Claim 15
Independent Claim 161 words
A method for instrumenting with tagging assignment statements a plurality of source code modules for a computer program to support testing of the computer program, the method comprising: setting an offset value for a tagging assignment statement; inserting the tagging assignment statement into a source code module that assigns a combination of the set offset values and a base value to a tagging variable; and setting the base value for the tagging assignment statement when object code representing the computer program is linked to form executable code, wherein the base value is resolved such that the value of the tagging variable in a tagging variable assignment statement is unique, wherein a highest value for the offset value in each source code module is set sufficiently large to provide for later insertion of a predetermined number of new tagging assignment statements such that the value of the tagging variable in all tagging assignment statements in the computer program will still be unique.
Claim 16
Independent Claim 161 words
A method for instrumenting with tagging assignment statements a plurality of source code modules for a computer program to support testing of the computer program, the method comprising: setting an offset value for a tagging assignment statement; inserting the tagging assignment statement into a source code module that assigns a combination of the set offset values and a base value to a tagging variable; and setting the base value for the tagging assignment statement when object code representing the computer program is linked to form executable code, wherein the base value is resolved such that the value of the tagging variable in a tagging variable assignment statement is unique, wherein a highest value for the offset value in each source code module is set sufficiently large to provide for later insertion of a predetermined number of new tagging assignment statements such that the value of the tagging variable in all tagging assignment statements in the computer program will still be unique.
Claim 17
Dependent Claim 21 words
The method of claim 12 wherein the offset value for the tagging assignment statement is registered in an instrumentation data repository.
Claim 18
Dependent Claim 145 words
A computer-readable medium containing instructions for causing a computer system to produce a plurality of unique values for a tagging variable used for instrumenting a computer program, by: for each instrumentation point in the computer program, inserting a tagging assignment statement that sets the tagging variable to a value; generating object code for the computer program with the inserted tagging assignment statements; when object code of the computer program is linked to form executable code, adjusting the computer program so that each tagging assignment statement sets the tagging variable to a unique value, wherein the computer program includes a plurality of modules the tagging assignment statement combines a tagging offset value with a tagging base value to generate the value such that the combination uniquely identifies each instrumentation point and wherein a base value for each module is established when the computer program is adjusted.
Claim 19
Dependent Claim 145 words
A computer-readable medium containing instructions for causing a computer system to produce a plurality of unique values for a tagging variable used for instrumenting a computer program, by: for each instrumentation point in the computer program, inserting a tagging assignment statement that sets the tagging variable to a value; generating object code for the computer program with the inserted tagging assignment statements; when object code of the computer program is linked to form executable code, adjusting the computer program so that each tagging assignment statement sets the tagging variable to a unique value, wherein the computer program includes a plurality of modules the tagging assignment statement combines a tagging offset value with a tagging base value to generate the value such that the combination uniquely identifies each instrumentation point and wherein a base value for each module is established when the computer program is adjusted.
Claim 20
Dependent Claim 21 words
The computer-readable medium of claim 14 wherein the tagging assignment statement combines a tagging offset value with a tagging base value.
Claim 21
Dependent Claim 19 words
The computer-readable medium of claim 14 wherein the adjusting of the computer program includes establishing the tagging base value.
Claim 22
Dependent Claim 40 words
The computer-readable medium of claim 14 wherein the tagging assignment statement sets the tagging variable to a constant value and wherein the adjusting of the computer program set the constant value for each tagging assignment statement to the unique value.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-08-22 2004-02-21 2004-08-22 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-08-22 2008-02-21 2008-08-22 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-08-22 2012-02-21 2012-08-22 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag