DIME: Time-aware Dynamic Binary Instrumentation Using Rate-based Resource Allocation

TitleDIME: Time-aware Dynamic Binary Instrumentation Using Rate-based Resource Allocation
Publication TypeConference Paper
Year of Publication2013
AuthorsArafa, P., H. Kashif, and S. Fischmeister
Conference NameProc. of the 13th International Conference on Embedded Software (EMSOFT)
Date PublishedSept
Conference LocationMontreal, Canada
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 and 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 3, 9, and 16 folds for complex instrumentation objectives. Instrumenting the VLC media player and a laser beam stabilization experiment demonstrate the practicality and scalability of DIME.
 

Refereed DesignationRefereed
Related files: 

Opportunities

Looking for motivated students (undergrads and grads) interested in working on embedded software and systems research. Mail Sebastian Fischmeister for further information.