Abstract
Current instrumentation techniques are ill-suited for real-time and
embedded software, because current theory and practice of
instrumentation and data extraction concentrate on preserving only
logical correctness. This means they ensure that the instrumented
program still computes the right value. Real-time embedded software,
however, also requires precise timing and resource bounds. Therefore,
developers of real-time embedded software require instrumentation
techniques that preserve logical correctness, timing, and resource
bounds.
In this work, I will present and discuss three problems around the
topic of instrumentation and data extraction for real-time embedded
software: (a) software-based tracing of interrupts, (b) instrumenting
time-sensitive applications, and (c) sampling-based control-flow
monitoring. The techniques have a wide range of applications including
profiling, testing, debugging, tracing, and monitoring of embedded
software.
BIO
Sebastian Fischmeister is currently Assistant Professor at the
Department of Electrical and Computer Engineering at the University of
Waterloo, Canada. He received his MASc in Computer Science at the
Vienna University of Technology, Austria, and his Ph.D. degree at the
University of Salzburg, Austria. He was subsequently awarded the APART
stipend for young, execellent researchers in 2005 and worked at the
University of Pennsylvania, USA, as Post Graduate Research Associate
until 2008.
He performs systems research at the intersection of software
technology, embedded networking, and formal methods. His preferred
application areas are distributed embedded real-time systems in the
domain of automotive systems, medical devices, and avionics. He is now
working on the theory and application of state-based schedules for
adaptive systems and a debugging/tracing framework for time-sensitive
systems.