Detecting irregular performing code within computer programs
Abstract
A computer-implemented method of finding portions of a computer program exhibiting irregular performance can include detecting an entry into a function of a computer program under test indicating a current execution of the function and, responsive to detecting an exit from the function, determining a count of a computing resource utilized by the function during the current execution of the function. The count of the computing resource can be compared with a count range determined according to at least one prior execution of the function. The function can be selectively represented within a call graph as a plurality of nodes according to the comparing.
Claims
exact text as granted — not AI-modified1 . A computer-implemented method of finding portions of a computer program exhibiting irregular performance, comprising:
detecting an entry into a function of a computer program under test indicating a current execution of the function; responsive to detecting an exit from the function, determining a count of a computing resource utilized by the function during the current execution of the function; comparing the count of the computing resource with a count range determined according to at least one prior execution of the function; and selectively representing the function within a call graph as a plurality of nodes according to the comparing the count of the computing resource with a count range determined according to at least one prior execution of the function.
2 . The computer-implemented method of claim 1 , wherein the comparing comprises:
identifying a stack frame associated with the function; and comparing the count with the count range of at least one count element in the stack frame.
3 - 4 . (canceled)
5 . The computer-implemented method of claim 2 , further comprising:
determining that the count is not within the count range of any count element; creating a new count element; and storing the count as part of the new count element.
6 . The computer-implemented method of claim 1 , wherein the selectively representing comprises:
identifying a stack frame corresponding to the function; determining a number of count elements associated with the stack frame, wherein each count element represents at least one execution of the function that utilized an amount of the computing resource within a range corresponding to the count element; and displaying the call graph using a number of nodes to represent the function that depends upon the number of count elements associated with the stack frame corresponding to the function.
7 . The computer-implemented method of claim 1 , further comprising selecting the computing resource to be time needed to complete a single execution of the function.
8 . The computer-implemented method of claim 1 , further comprising
selecting the computing resource to be amount of allocated memory successfully requested by the function during a single execution.
9 . A computer-implemented method of finding portions of a computer program exhibiting irregular performance, comprising:
determining a count indicating usage of a computing resource during invocation of a function; identifying a stack frame corresponding to the function, wherein the stack frame comprises at least one count element, wherein each count element represents at least one execution of the function that utilized an amount of the computing resource within a range corresponding to the count element; comparing the count with the count range of each count element; when the count is within the count range of a selected count element, aggregating the count within the selected count element; when the count does not fall within any count range of the at least one count element, creating a new count element and adding the count to the new count element; and outputting a call graph representing an execution of the computer program and including within the call graph a number of nodes, each representing the function, wherein the number of nodes depends upon a number of the count elements associated with the stack frame corresponding to the function.
10 . The computer-implemented method of claim 9 , further comprising
defining the count range of each count element to depend upon an average count within each respective count element.
11 . The computer-implemented method of claim 10 , further comprising
calculating the average count within each count element according to a plurality of counts from prior executions of the function.
12 . The computer-implemented method of claim 9 , further comprising
selecting the computing resource to be time needed to complete a single execution of the function.
13 . The computer-implemented method of claim 9 , further comprising
selecting the computing resource to be amount of allocated memory successfully requested by the function during a single execution.
14 . A computer program product comprising a computer-usable storage medium having stored therein computer-usable program code that finds portions of a computer program exhibiting irregular performance, the computer-usable program code, which when executed on a computer hardware system causes the computer hardware system to perform:
detecting an entry into a function of a computer program under test indicating a current execution of the function; responsive to detecting an exit from the function, determining a count of a computing resource utilized by the function during the current execution of the function; comparing the count of the computing resource with a count range determined according to at least one prior execution of the function; and selectively representing the function within a call graph as a plurality of nodes according to the comparing.
15 . The computer program product of claim 14 , wherein
the comparing comprises:
identifying a stack frame associated with the function; and
comparing the count with the count range of at least one count element associated with the stack frame.
16 - 17 . (canceled)
18 . The computer program product of claim 15 , wherein the computer-usable program code further causes the computer hardware system to perform:
determining that the count is not within the count range of any count element; creating a new count element; and storing the count as part of the new count element.
19 . The computer program product of claim 14 , wherein
the selectively representing comprises:
identifying a stack frame corresponding to the function;
determining a number of count elements associated with the stack frame, wherein each count element represents at least one execution of the function that utilized an amount of the computing resource within a range corresponding to the count element; and
displaying the call graph using a number of nodes to represent the function that depends upon the number of count elements associated with the stack frame corresponding to the function.
20 . The computer program product of claim 14 , wherein the computer-usable program code further causes the computer hardware system to perform:
selecting the computing resource to be time needed to complete a single execution of the function or p 1 computer-usable program code that selects the computing resource to be amount of allocated memory successfully requested by the function during a single execution.Join the waitlist — get patent alerts
Track US2012254841A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.