Dynamic compilation and optimization are widely used in Internet computing. However, dynamic optimization and the effort it entails introduce a runtime overhead, which affects performance adversely. Information gathered from offline profiling when used with online profiling can improve performance by reducing the dynamic compilation effort. To achieve this, it is also necessary to estimate the efficacy of the offline profile. More specifically, it is necessary to ensure that data gathered from the offline profile will not differ drastically when the input to the program is different. This project examines cross-input program behavior and its impact on a system that combines online and offline profiling to improve runtime performance of Java programs.
Predicting Program Behavior using Real or Estimated Profiles [PS]
David W. Wall
BMAT -- A Binary Matching Tool for Stale Profile Propagation [PDF]
Zheng Wang, Ken Pierce, Scott McFarling
Comparing and Combining Profiles [PS]
Serap Savari, Cliff Young
How Input Datasets change Program Behavior [PDF]
Lieven Eeckhout, Hans Vandierendock, Koen De Bosschere
Quantifying Behavioral Differences in C and C++ Programs [PS]
Brad Calder, Dirk Grunwald, Benjamin Zorn