|Authors||C. Boogerd and L. Moonen|
|Editors||J. Cordy and L. Zhang|
|Title||On the Use of Data Flow Analysis in Static Profiling|
|Afilliation||Software Engineering, Software Engineering|
|Publication Type||Proceedings, refereed|
|Year of Publication||2008|
|Conference Name||Proceedings of the Eighth IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2008)|
Static profiling is a technique that produces estimates of execution likelihoods or frequencies based on source code analysis only. It is frequently used in determining cost/benefit ratios for certain compiler optimizations. In previous work,we introduced a simple algorithm to compute execution likelihoods,based on a control flow graph and heuristic branch prediction. In this paper we examine the benefits of using more involved analysis techniques in such a static profiler. In particular, we explore the use of value range propagation to improve the accuracy of the estimates, and we investigate the differences in estimating execution likelihoods and frequencies.