MASc seminar - Chun Wah Wallace Wu

Monday, November 19, 2012 10:00 am - 10:00 am EST (GMT -05:00)

Speaker

Chun Wah Wallace Wu

Title

Methods for Reducing Monitoring Overhead in Runtime Verification

Abstract

Runtime verification serves to complement existing verification techniques, such as formal methods and testing. In runtime verification, monitors are synthesized to check a system at run time against a set of properties it is expected to satisfy. Runtime verification may be used to determine software faults before and after system deployment. The monitor(s) can be synthesized to notify, steer and/or perform system recovery from detected software faults at run time.

The research and proposed methods presented in this thesis aim to reduce the monitoring overhead of runtime verification in terms of memory and execution time by leveraging time-triggered techniques for monitoring system events. Traditionally, runtime verification frameworks employ event-triggered monitors, where the invocation of the monitor occurs after every system event. Event-triggered monitoring behaviour is difficult to predict. Time-triggered monitors, on the other hand, periodically preempt and process system events, making monitoring behaviour predictable. However, software system state reconstruction is not guaranteed (i.e., missed state changes/events between samples).

The first part of this thesis analyzes three heuristics that efficiently solve the NP-complete problem of minimizing the amount of memory required to store system state changes to guarantee accurate state reconstruction. The experimental results demonstrate that adopting near-optimal algorithms do not greatly change the memory consumption and execution time of monitored programs; hence, NP-completeness is likely not an obstacle for time-triggered runtime verification. In the second part of this thesis, a novel approach for monitoring in runtime verification is introduced. This approach is called hybrid runtime verification and enables the monitor to toggle between event- and time-triggered modes of operation. The aim of hybrid runtime verification is to reduce the overall runtime monitoring overhead with respect to execution time. Minimizing the execution time overhead by employing hybrid runtime verification is not in NP. An integer linear programming heuristic is formulated to determine near-optimal hybrid monitoring schemes. Experimental results show that the heuristic typically selects monitoring schemes that are equal to or better than naively selecting exclusively one operation mode for monitoring.

Supervisor

Sebastian Fischmeister