Program execution stack signatures
AssigneeTechtracker, Inc.
InventorsScott Clementson Elliott, Kenneth A. Gengler
Life of this patent
Estimating the term…
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.
Claims27
A method of forming a stack signature responsive to execution of a computer program in a digital computer, the method comprising the steps of:
- halting execution of the computer program;
- tracing the program's call stack to determine a series of stack frames resulting from execution of the program;
- capturing a selected metric with respect to each stack frame in the series;
- encoding each captured metric into a corresponding symbol;
- and
- assembling the series of encoded symbols into an ordered list thereby forming a stack frame signature that reflects generally the execution of the computer program.
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.
A stack frame signature data structure encoded in machine-readable form for characterizing an unhandled exception caused by a computer program, the stack frame signature comprising a series of symbols, each symbol responsive to a predetermined attribute of a corresponding stack frame.
A stack frame signature computer program encoded in machine-readable form for execution on a platform comprising:
- registry means for registering the stack frame signature program in an operating system so that the operating system will launch the stack frame signature program responsive to abnormal termination of an application program;
- means for tracing the application program's call stack to determine a series of stack frames resulting from execution of the application program up to the termination;
- means for collecting a size metric of each stack frame in the series;
- means for encoding each size metric into a corresponding symbol;
- and
- means for assembling the series of symbols so as to form a stack frame signature.
Dependencies are inferred from the claim text.