• 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