Content area
Abstract
Increasing program complexity makes program analysis and performance prediction at compile time more difficult. A new approach in program analysis is analyzing programs at runtime, which is called dynamic program analysis. Dynamic analysis can gather more information about the applications than the compile time analysis methods. The information determined at runtime can differ for different input.
This thesis proposes a new dynamic analysis method. In this method the programs contain profiling calls and output program information into a file. This file is processed after the program run is complete. The proposed method processes the file and determines basic block sequences for the program functions, which are executed frequently. These sequences can be used to optimize hot spots of program functions.
An optimization approach to the sequences determined after the analysis is also described in this thesis. This usage of the analysis results shows the applicability of the analysis method. Besides the applicability, it is also shown that there is a potential of performance increase of this method for some benchmarks.