On Time-Aware Instrumentation of Programs
RTAS '09 Proceedings of the 2009 15th IEEE Symposium on Real-Time and Embedded Technology and Applications
Sampling-based program execution monitoring
Proceedings of the ACM SIGPLAN/SIGBED 2010 conference on Languages, compilers, and tools for embedded systems
Sampling-based runtime verification
FM'11 Proceedings of the 17th international conference on Formal methods
Efficient techniques for near-optimal instrumentation in time-triggered runtime verification
RV'11 Proceedings of the Second international conference on Runtime verification
Time-Triggered Program Self-Monitoring
RTCSA '12 Proceedings of the 2012 IEEE International Conference on Embedded and Real-Time Computing Systems and Applications
Hi-index | 0.00 |
Time-triggered runtime verification aims at tackling two defects associated with runtime overhead: unboundedness and unpredictability. In this approach, a monitor runs in parallel with the program under inspection and periodically samples the program state to evaluate a set of properties. The fact that the monitoring tasks place only at predictable time ticks makes the approach predictable and especially suitable for embedded systems. In this tutorial, we will discuss the main challenges in implementing time-triggered runtime verification (TTRV) and our solutions. In particular, we will present our work on optimal program state reconstruction, where the problem is known to be NP-complete. This includes our techniques using modern SMT- and ILP-solvers and efficient heuristics. We will also describe our work on time-triggered self-monitoring programs, where a program under inspection is instrumented, so that it monitors its own state within fixed time intervals. We also describe our GPU-based monitoring technique. Such a technique accelerates monitoring tasks and effectively separates monitoring from functional concerns at hardware level. The tutorial will also present our tool chains as well as case studies on monitoring embedded systems using our tools.