US2012254841A1PendingUtilityA1

Detecting irregular performing code within computer programs

Individually held — no corporate assignee on recordPriority: Apr 27, 2008Filed: Jun 18, 2012Published: Oct 4, 2012
Est. expiryApr 27, 2028(~1.8 yrs left)· nominal 20-yr term from priority
Inventors:Kirk J. Krauss
G06F 11/3409G06F 9/45516G06F 11/3419G06F 11/3447G06F 11/3466G06F 11/3476G06F 2201/88
50
PatentIndex Score
0
Cited by
0
References
0
Claims

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-modified
1 . 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.