DIME: time-aware dynamic binary instrumentation using rate-based resource allocation

  • Authors:
  • Pansy Arafa;Hany Kashif;Sebastian Fischmeister

  • Affiliations:
  • University of Waterloo, Canada;University of Waterloo, Canada;University of Waterloo, Canada

  • Venue:
  • Proceedings of the Eleventh ACM International Conference on Embedded Software
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Program analysis tools are essential for understanding programs, analyzing performance, and optimizing code. Some of these tools use code instrumentation to extract information at runtime. The instrumentation process can alter program behavior such as timing behavior and memory consumption. Time-sensitive programs, however, must meet specific timing constraints and thus require that the instrumentation process, for instance, bounds the timing overhead. Time-aware instrumentation techniques try to honor the timing constraints of such programs. All previous techniques, however, support only static source-code instrumentation methods. Hence, they become impractical beyond microcontroller code for instrumenting large programs along with all their library dependencies. In this work, we propose DIME, a time-aware dynamic binary instrumentation technique that adds an adjustable bound on the timing overhead to the program under analysis. We implement DIME using the dynamic instrumentation framework, Pin. Quantitative evaluation of the three implementation alternatives shows an average reduction of the instrumentation overhead by 12, 7, and 3 folds compared to native Pin. Instrumenting the VLC media player and a laser beam stabilization experiment demonstrate the practicality and scalability of DIME.