System and method to identify code execution rhythms
First Claim
1. A method implemented using an information processing apparatus for identifying code execution rhythms by monitoring function execution behavior in a running program, comprising:
- monitoring, using a processor, functions executing in a running program over a period of time to identify rhythmic execution patterns in the running program;
analyzing the functions to find clusters of function execution;
grouping the clusters with respect to time thresholds;
evaluating the grouped clusters to determine a periodicity of the identified rhythmic execution patterns;
generating a displayable visualization having a time axis displayed along a first axis, an ordered listing of the selected functions in the set displayed along a second axis, and a graphical depiction of execution start times for each function in the ordered listing displayed adjacent to the respective function along the second axis; and
determining execution time per frame for each function in the ordered listing thereby allowing frame-by-frame analysis of function execution.
4 Assignments
0 Petitions
Accused Products
Abstract
The present technology is directed to accurately identifying code execution rhythms from a running program, even when they are occasionally irregular. The present technology is capable of detecting and inferring the rhythms without any prior knowledge or expectations of rates or number of rhythms present in a running program. These code execution rhythms can then be used to further understand and analyze the behavior of a running program, for example, by exposing various rhythms that might have been unknown/unrealized, irregularity of rhythms, or by analyzing the behavior of functions on a per frame basis under different rhythms.
16 Citations
16 Claims
-
1. A method implemented using an information processing apparatus for identifying code execution rhythms by monitoring function execution behavior in a running program, comprising:
-
monitoring, using a processor, functions executing in a running program over a period of time to identify rhythmic execution patterns in the running program; analyzing the functions to find clusters of function execution; grouping the clusters with respect to time thresholds; evaluating the grouped clusters to determine a periodicity of the identified rhythmic execution patterns; generating a displayable visualization having a time axis displayed along a first axis, an ordered listing of the selected functions in the set displayed along a second axis, and a graphical depiction of execution start times for each function in the ordered listing displayed adjacent to the respective function along the second axis; and determining execution time per frame for each function in the ordered listing thereby allowing frame-by-frame analysis of function execution. - View Dependent Claims (2, 3)
-
-
4. A method implemented in an information processing apparatus having one or more processors and for identifying code execution rhythms, comprising:
-
monitoring, using the one or more processors, functions executing in a running program over a period of time to identify rhythmic execution patterns; evaluating the periodicity of the identified rhythmic execution patterns; and generating a displayable visualization having a time axis displayed along a first axis, an ordered listing of selected functions displayed along a second axis, and a graphical depiction of execution start times for each function in the ordered listing displayed adjacent to the respective function along the second axis. - View Dependent Claims (5, 6, 7, 8)
-
-
9. A non-transitory computer-readable storage storing instructions which, when executed by one or more processors of an information processing apparatus, cause the information processing apparatus to provide execution comprising:
-
monitor functions executing in a running program over a period of time to identify rhythmic execution patterns; evaluate the periodicity of the identified rhythmic execution patterns; and generate a displayable visualization having a time axis displayed along a first axis, an ordered listing of selected functions displayed along a second axis, and a graphical depiction of execution start times for each function in the ordered listing displayed adjacent to the respective function along the second axis. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A system for identifying code execution rhythms, comprising:
-
a memory; and at least one processor operatively coupled to the memory and configured to; monitor functions executing in a running program over a period of time to identify rhythmic execution patterns, select identified rhythmic execution patterns based on periodicity, and generate a displayable visualization having a time axis displayed along a first axis, an ordered listing of selected functions displayed along a second axis, and a graphical depiction of execution start times for each function in the ordered listing displayed adjacent to the respective function along the second axis. - View Dependent Claims (15, 16)
-
Specification