US2013262936A1PendingUtilityA1
Assessing computer programs using stack frame signatures
Est. expiryMay 24, 2021(expired)· nominal 20-yr term from priority
G06F 11/0715G06F 11/3636G06F 11/0778G06F 11/3466G06F 11/0766
53
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A method of assessing a computer program under actual working conditions according to one embodiment comprises 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.
Claims
exact text as granted — not AI-modified1 . A computer-implemented method, comprising:
tracing by a processor a call stack for an executed program; generating a selected metric for each stack frame in the call stack, the selected metric comprising a type of module corresponding to the stack frame; encoding each selected metric into a corresponding symbol; and assembling the encoded symbols into an ordered list to form a stack frame signature with a historical execution path of the executed program, wherein the type of module is used to determine whether to include the selected metric in the stack frame signature.
2 . A computer-implemented method according to claim 1 , comprising:
excluding a selected metric from the stack frame signature that is associated with a type of module provided by an operating system.
3 . A computer-implemented method according to claim 1 , wherein the selected metric comprises a length of each of the stack frames.
4 . A computer-implemented method according to claim 3 , wherein the step of encoding each selected metric into a corresponding symbol comprises encoding the length of each of the stack frames in a positional notation system of the form base b, wherein b is greater than 2.
5 . A computer-implemented method according to claim 1 , wherein the selected metric comprises an identifier of a generic type of callee module corresponding to each of the stack frames.
6 . A computer-implemented method according to claim 1 , wherein the selected metric comprises an identifier of a specific callee code module corresponding to each of the stack frames.
7 . A computer-implemented method according to claim 1 , wherein the selected metric comprises an identifier of a callee library associated with each of the stack frames.
8 . A computer-implemented method according to claim 1 , wherein the selected metric comprises an indication of a system call applicable to each of the stack frames.
9 . A computer-implemented method according to claim 1 , wherein the selected metric comprises an indication of a peripheral driver module call applicable to each of the stack frames.
10 . A computer-implemented method according to claim 10 , further comprising:
delimiting the series of encoded symbols so as to indicate the start and the end of the call stack.
11 . A computer-implemented method according to claim 1 , wherein the stack frame signature formed by the step of assembling the series of encoded symbols into an ordered list does not comprise specific address information.
12 . A computer-readable non-transitory storage medium on which is stored a stack signature program for capturing and describing the state of an application program under actual working conditions, the stack signature program being registered with a target operating system that launches the stack signature program responsive to abnormal termination of the application program, the stack signature program comprising instructions that when executed cause a computing system to:
trace a call stack for an executed program; generate a selected metric for each stack frame in the call stack, the selected metric comprising a type of module corresponding to the stack frame; encode each selected metric into a corresponding symbol; and assemble the encoded symbols into an ordered list to form a stack frame signature with a historical execution path of the executed program, wherein the type of module is used to determine whether to include the selected metric in the stack frame signature.
13 . The non-transitory storage medium of claim 12 , further comprising instructions that when executed cause the computing system to:
exclude a selected metric from the stack frame signature that is associated with a type of module provided by the target operating system.
14 . The storage medium of claim 12 , wherein the selected metric comprises a length of each of the stack frames.
15 . The storage medium of claim 14 , further comprising instructions that when executed cause the computing system to encode the length of each of the stack frames in a positional notation system of the form base b, wherein b is greater than 2.
16 . The storage medium of claim 12 , wherein the selected metric comprises an identifier of a generic type of callee module corresponding to each of the stack frames.
17 . The storage medium of claim 12 , wherein the selected metric comprises an identifier of a specific callee code module corresponding to each of the stack frames.
18 . The storage medium of claim 12 , wherein the selected metric comprises an identifier of a callee library associated with each of the stack frames.
19 . The storage medium of claim 12 , wherein the selected metric comprises an indication of a system call applicable to each of the stack frames.
20 . The storage medium of claim 12 , wherein the selected metric comprises an indication of a peripheral driver module call applicable to each of the stack frames.
21 . The storage medium of claim 12 , further comprising instructions that when executed cause the computing system to:
delimit the series of encoded symbols so as to indicate the start and the end of the call stack.
22 . The storage medium of claim 12 , wherein the stack frame does not comprise specific address information.
23 . An apparatus, comprising:
a processor; and a memory coupled to the processor, the memory to store a computer program to generate stack signatures that when executed by the processor is operative to: trace a call stack for an executed program; generate a selected metric for each stack frame in the call stack, the selected metric comprising a type of module corresponding to the stack frame; encode each selected metric into a corresponding symbol; and assemble the encoded symbols into an ordered list to form a stack frame signature with a historical execution path of the executed program, wherein the type of module is used to determine whether to include the selected metric in the stack frame signature.
24 . The apparatus of claim 23 , the processor further operative to:
exclude a selected metric from the stack frame signature that is associated with a type of module provided by the target operating system.
25 . The apparatus of claim 46 , the selected metric comprising a length of each of the stack frames.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.