Method and apparatus for identifying similar regions of a program's execution
AssigneeThe Regents of the University of California
InventorsBrad Calder, Timothy Sherwood, Erez Perelman, Gregory Hamerly
Life of this patent
Estimating the term…
Abstract
A method and architecture for analyzing a computer program by finding similar sections of execution of the computer program. Code of the computer program is run over a plurality of intervals of execution, and during the execution of the program, a statistic is tracked for a component. Using the tracked statistic, behavior of the computer program is identified over each of the plurality of intervals of execution, and at least one identified behavior of at least one interval of execution is compared to the behavior of another interval of execution to find similar sections of behavior.
Claims53
A method of analyzing a computer program, the method comprising:
- running code of the computer program over a plurality of intervals of execution;
- during said step of executing code, tracking a statistic for a program component;
- identifying a behavior of the computer program over each of the plurality of intervals of execution based on the tracked statistic;
- comparing at least one identified behavior for at least one interval of execution to another interval of execution to determine similarity between the intervals of execution.
A method of analyzing a computer program, the method comprising:
- running at least a portion of the computer program;
- identifying behavior of a hardware-independent metric within at least one arbitrary section of execution of the portion of the computer program during said executing step;
- classifying each of the at least one arbitrary section of execution according to the identified behavior into clusters of similar behavior.
The method of claim 33 further comprising:
- identifying an initialization phase;
- determining at least one analysis point occurring after execution of the identified initialization phase.
A method of analyzing operation of a computer program, the method comprising:
- executing at least a portion of the computer program;
- for each of a plurality of intervals of execution over the at least a portion of the computer program, identifying behavior of a hardware-independent metric;
- identifying behavior of the hardware-independent metric over full execution of the at least a portion of the computer program to identify a target behavior;
- comparing the identified behavior of each of the plurality of intervals to the identified target behavior over full execution to determine a representative interval;
- simulating execution of the computer program over the determined representative interval.
Dependencies are inferred from the claim text.