Lessons Learned on Assumptions and Scalability with Time-Aware Instrumentation

Title Lessons Learned on Assumptions and Scalability with Time-Aware Instrumentation

Software instrumentation is a key technique in many stages of the development process. Instrumentation is particularly important for profiling, debugging, performance evaluation, and security analysis of real-time and embedded systems. Unfortunately, typical software-based instrumentation methods, while useful to extract high-level information from programs, concentrate on preserving only logical correctness and are thus inadequate for time-sensitive applications for which timing must also be preserved. Time-aware instrumentation is a new view on code instrumentation, one that considers extra-functional properties and specifically timing constraints of instrumented programs. Time-aware instrumentation enables instrumenting software systems while still guaranteeing their timing requirements. This paper summarizes the work on time-aware instrumentation and highlights the lessons learned on assumptions and scalability. Specifically, it shows how strict assumptions enable a strong formal model at the expense of applicability. Subsequent relaxing of assumptions then permits scaling the concept and applying it to large real-word applications with millions lines of code. We believe that these lessons may help steer other research projects in the systems area.

Year of Publication
Conference Name
International Conference on Embedded Software (EMSOFT)
Conference Location
Pittsburgh, USA
Download citation