Skip to main content
Article
Analyzing Dynamic Binary Instrumentation Overhead
Workshop on Binary Instrumentation and Application, October 2007, San Jose, CA
  • Gang-Ryung Uh, Boise State University
  • Robert Cohn, Intel
  • Bharadwaj Yadavalli, Intel
  • Ramesh Peri, Intel
  • Ravi Ayyagari, Boise State University
Document Type
Conference Proceeding
Publication Date
10-1-2007
Disciplines
Abstract

Robust and powerful software instrumentation tools are essential for dynamic program analysis tasks such as profiling, performance evaluation, and bug detection. Dynamic binary instrumentation (DBI) is a general purpose technique that eases the development of program analysis tools by facilitating automatic low-level instrumentation. DBI-based program analysis can introduce high overhead and it is crucial for tool writers to minimize the cost. Analyzing the performance of instrumentation tools is challenging because most systems use a just-in-time compiler (JIT) to dynamically generate code. In this paper, we describe our method for analyzing the performance of instrumentation tools. The instrumented code is itself instrumented with basic block counters. We implement the profiler in Pin and use it to analyze the behavior of simple and complex instrumentation tools. The analysis yields several unexpected results about the dynamic behavior of instrumented programs. By examining these results, we often find effective solutions to improve performance.

Citation Information
Gang-Ryung Uh, Robert Cohn, Bharadwaj Yadavalli, Ramesh Peri, et al.. "Analyzing Dynamic Binary Instrumentation Overhead" Workshop on Binary Instrumentation and Application, October 2007, San Jose, CA (2007)
Available at: http://works.bepress.com/gang-ryung_uh/8/