Checking Program Profiles
Department of Computer Science
University of Arizona
Tucson, AZ 85721, U.S.A.
Execution profiles have become increasingly important for guiding code optimization. However, little has been done to develop ways to check automatically that a profile does, in fact, reflect the actual execution behavior of a program. This paper describes a framework that uses program monitoring techniques in a way that allows the automatic checking of a wide variety of profile data. We also describe our experiences with using an instance of this framework to check edge profiles. The profile verifier uncovered profiling anomalies that we had been unaware of and that would have been very difficult to identify using existing techniques.