IP Library Granted Patent US 7,320,125
Granted Patent B2
US 7,320,125 · App. 10/155,825 · Granted Jan 15, 2008

Program execution stack signatures

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,320,125
App. No.
10/155,825
Granted
Jan 15, 2008
Kind
B2
Abstract

A digital computer call stack or combined call stack and data stack is traced and analyzed following the occurrence of an unhandled exception or crash. Stack frame sizes and other artifacts are used to form a distinctive stack signature that generally reflects execution of the program up to the point of failure, without being finely detailed. Stack signatures can be associated with program bugs, and stack signatures collected from other failure instances, at other times or on other machines, can be conveniently compared for recognizing particular types of failures, without access to source code and without detailed study of memory dumps.

Claims (36)

1. A method of assessing a computer program under actual working conditions comprising the steps of:

executing the computer program multiple times under actual working conditions;

in response to each unhandled exception encountered during execution of the computer program, creating a corresponding stack frame signature to characterize the state of the program;

comparing the stack frame signatures to determine which unhandled exceptions are likely to have resulted from similar features;

wherein said comparing the stack frame signatures includes identifying at least one category of stack frame signatures based on a common attribute; and

updating the computer program responsive to the identified at least one category of stack frame signatures so as to reduce an occurrence of future unhandled exceptions.

2. A method of assessing a computer program according to claim 1 wherein the common attribute is that the stack frame signatures are identical.

3. A method of assessing a computer program according to claim 1 wherein the common attribute is that each of the stack frame signatures reflects a series of frames having correspondingly equal sizes.

4. A method of assessing a computer program according to claim 1 wherein the common attribute is an identical substring.

5. A method of assessing a computer program under actual working conditions comprising the steps of:

executing the computer program multiple times under actual working conditions;

in response to each unhandled exception encountered during execution of the computer program, creating a corresponding stack frame signature to characterize the state of the program;

comparing the stack frame signatures to determine which unhandled exceptions are likely to have resulted from similar features;

wherein said comparing the stack frame signatures includes searching for a matching substring; and

updating the computer program responsive the matching substring so as to reduce an occurrence of future unhandled exceptions.

6. A method of assessing a computer program under actual working conditions comprising the steps of:

executing the computer program multiple times under actual working conditions;

in response to each unhandled exception encountered during execution of the computer program, creating a corresponding stack frame signature to characterize the state of the program; and

comparing the stack frame signatures to determine which unhandled exceptions are likely to have resulted from similar features;

wherein said comparing the stack frame signatures includes first filtering the stack frame signatures so as to remove indicia of certain predetermined types of calls.

7. A method of assessing a computer program according to claim 6 wherein said types of calls include driver calls.

8. A machine-readable medium on which are stored computer program instructions for assessing a computer program under actual working conditions, the computer program instructions comprising:

first code for executing the computer program multiple times under actual working conditions;

in response to each unhandled exception encountered during execution of the computer program, second code for creating a corresponding stack frame signature to characterize the state of the program; and

third code for comparing the stack frame signatures to determine which unhandled exceptions are likely to have resulted from similar features;

wherein said comparing the stack frame signatures includes identifying at least one category of stack frame signatures based on a common attribute.

9. A machine-readable medium on which are stored computer program instructions for assessing a computer program under actual working conditions, the computer program instructions comprising:

first code for executing the computer program multiple times under actual working conditions;

in response to each unhandled exception encountered during execution of the computer program, second code for creating a corresponding stack frame signature to characterize the state of the program; and

third code for comparing the stack frame signatures to determine which unhandled exceptions are likely to have resulted from similar features;

wherein said comparing the stack frame signatures includes searching for a matching substring.

10. A machine-readable medium on which are stored computer program instructions for assessing a computer program under actual working conditions, the computer program instructions comprising:

first code for executing the computer program multiple times under actual working conditions;

in response to each unhandled exception encountered during execution of the computer program, second code for creating a corresponding stack frame signature to characterize the state of the program; and

third code for comparing the stack frame signatures to determine which unhandled exceptions are likely to have resulted from similar features;

wherein said comparing the stack frame signatures includes first filtering the stack frame signatures so as to remove indicia of certain predetermined types of calls.

Assignments (6)
RELEASE OF SECURITY INTERESTS Recorded Sep 13, 2024
From: BANK OF AMERICA, N.A.
To: CNET MEDIA, INC.
Reel/Frame 068968/0400 →
FIRST LIEN SECURITY AGREEMENT Recorded Dec 3, 2021
From: CNET MEDIA, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 058300/0869 →
CHANGE OF NAME Recorded Apr 20, 2021
From: RV CAROUSEL HOLDINGS, INC.
To: CNET MEDIA, INC.
Reel/Frame 055974/0631 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2020
From: CBS INTERACTIVE INC.
To: RV CAROUSEL HOLDINGS, INC.
Reel/Frame 054526/0426 →
CHANGE OF NAME Recorded Nov 23, 2020
From: CNET NETWORKS, INC.
To: CBS INTERACTIVE INC.
Reel/Frame 054442/0890 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2020
From: TECHTRACKER, INC.
To: CNET NETWORKS, INC.
Reel/Frame 054417/0633 →