A program is instrumented to record acyclic paths during execution of the
program. A whole program path is produced from the record and provides a
complete compact record of a program's entire control flow. It includes a
record of crossing loop boundaries and procedure boundaries to provide a
complete picture of the program's dynamic behavior. A string compression
algorithm that constructs a context-free grammar is used to compress the
path trace and uncover its regular structure. Heavily executed subpaths
are easily identified from the representation by traversing the whole
program path to find hot subpaths according to input parameters of minimum
and maximum path lengths and a minimum cost.
Un programa se equipa para registrar las trayectorias acíclicas durante la ejecución del programa. Una trayectoria entera del programa se produce del expediente y proporciona un expediente completo del acuerdo del flujo entero del control de un programa. Incluye un expediente de los límites del lazo de la travesía y de los límites del procedimiento para proporcionar un cuadro completo del comportamiento dinámico del programa. Un algoritmo de la compresión de la secuencia que construye una gramática independiente del contexto se utiliza para comprimir el rastro de la trayectoria y para destapar su estructura regular. Los subpaths pesadamente ejecutados son identificados fácilmente de la representación atravesando la trayectoria entera del programa para encontrar subpaths calientes según parámetros de la entrada de longitudes de trayectoria mínimas y máximas y de un coste mínimo.