Patent ID: 8079020
Filing Date: 2011-12-13
Classification: G06F

Abstract:
1. In a computer profiling environment that typically records a computer program's control transfers through a sequence of executed instructions, each sequence representing a path that defines a characterization of a program's dynamic behavior, a method of reducing the overhead associated with path profiling by constructing an array of values that represent a subset of an overall number of paths within a control-flow graph for the program, the method comprising: identifying a subset of paths from a number of control-flow paths, which represent an abstraction of a program's dynamic control-flow behavior, and wherein the subset of paths are chosen based on predefined criteria to limit path selection; determining a different path index identifier for each of the subset of paths, each index identifier to be associated with an index into an array representing the entire subset of paths; assigning a path value for each of the subset of paths, each of the path values used in distinguishing the subset of paths from at least some of the paths not in the subset; for each path within the subset of paths, correlating within the array the determined index identifier and the assigned path value, using the index identifier as the array index into the elements of the array and storing the path value within a corresponding element of the array, such that during a runtime path profiling implementation for the program, the appropriate index identifier and correlated path value can be used to compare a traversed path with a assigned path value in order to determine if the path is within the subset of paths.