DocumentCode
3305619
Title
Building Approximate Calling Context from Partial Call Traces
Author
Serrano, Mauricio ; Zhuang, Xiaotong
Author_Institution
T.J. Watson Res. Center, IBM, Yorktown Heights, NY
fYear
2009
fDate
22-25 March 2009
Firstpage
221
Lastpage
230
Abstract
We present an approach for building calling context information useful for program understanding, performance analysis and optimizations. Our approach exploits a lightweight profiling mechanism providing partial call traces. The goal is to reconstruct calling context information as accurately as possible, and to help the user navigate through it. We propose three steps to merge partial call traces into a smaller number of partial calling context trees. We intend to minimize errors such that the final partial contexts represent actual components of the real calling context tree with a very high probability. The first step concatenates call traces based on their common sequences. The second step converts call traces into partial calling context trees, and the last step merges partial context trees through maximal matching. To gauge how well the merged trees represent the full calling context tree, several criteria are presented. Our results indicate that call traces are successfully merged into a small number of large calling context trees. The merged trees are highly accurate.We have also developed a semi-automatic tool to navigate across partial calling context trees for program understanding and performance analysis purposes. Our results for several Java benchmarks show that our merging strategies exhibit a maximum 1% inaccuracy when compared to the exact solution.
Keywords
optimising compilers; pattern matching; probability; program debugging; program diagnostics; reverse engineering; tree data structures; approximate calling context information building; lightweight profiling mechanism; maximal matching; partial call trace; partial calling context tree; performance analysis; probability; program optimization; program understanding; semi automatic tool; Hardware; Instruments; Java; Legged locomotion; Merging; Monitoring; Navigation; Operating systems; Performance analysis; Sampling methods; Call Context Analysis; Calling Context Tree; Program Understanding;
fLanguage
English
Publisher
ieee
Conference_Titel
Code Generation and Optimization, 2009. CGO 2009. International Symposium on
Conference_Location
Seattle, WA
Print_ISBN
978-0-7695-3576-0
Type
conf
DOI
10.1109/CGO.2009.12
Filename
4907666
Link To Document