• DocumentCode
    2160118
  • Title

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

  • Author

    Arafa, Pansy ; Kashif, H. ; Fischmeister, Sebastian

  • Author_Institution
    Dept. of Electr. & Comput. Eng., Univ. of Waterloo, Waterloo, ON, Canada
  • fYear
    2013
  • fDate
    Sept. 29 2013-Oct. 4 2013
  • Firstpage
    1
  • Lastpage
    10
  • 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.
  • Keywords
    program diagnostics; resource allocation; reverse engineering; DIME technique; Pin dynamic instrumentation framework; VLC media player; code optimization; information extraction; laser beam stabilization experiment; memory consumption; microcontroller code; program analysis tools; program behavior; program understanding; rate-based resource allocation; static source-code instrumentation methods; time-aware dynamic binary instrumentation; time-sensitive programs; timing behavior; timing constraints; timing overhead; Data mining; Instruments; Resource management; Runtime; Switches; Timing; Tin; Instrumentation; Profiling; Tracing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Embedded Software (EMSOFT), 2013 Proceedings of the International Conference on
  • Conference_Location
    Montreal, QC
  • Type

    conf

  • DOI
    10.1109/EMSOFT.2013.6658603
  • Filename
    6658603