Sciweavers

CC
2007
Springer

Correcting the Dynamic Call Graph Using Control-Flow Constraints

14 years 6 months ago
Correcting the Dynamic Call Graph Using Control-Flow Constraints
Abstract. To reason about programs, dynamic optimizers and analysis tools use sampling to collect a dynamic call graph (DCG). However, sampling has not achieved high accuracy with low runtime overhead. As object-oriented programmers compose increasingly complex programs, inaccurate call graphs will inhibit analysis and optimizations. This paper demonstrates how to use static and dynamic control flow graph (CFG) constraints to improve the accuracy of the DCG. We introduce the frequency dominator (FDOM), a novel CFG relation that extends the dominator relation to expose static relative execution frequencies of basic blocks. We combine conservation of flow and dynamic CFG basic block profiles to further improve the accuracy of the DCG. Together these approaches add minimal overhead (1%) and achieve 85% accuracy compared to a perfect call graph for SPEC JVM98 and DaCapo benchmarks. Compared to sampling alone, accuracy improves by 12 to 36%. These results demonstrate that static and dyna...
Byeongcheol Lee, Kevin Resnick, Michael D. Bond, K
Added 07 Jun 2010
Updated 07 Jun 2010
Type Conference
Year 2007
Where CC
Authors Byeongcheol Lee, Kevin Resnick, Michael D. Bond, Kathryn S. McKinley
Comments (0)