The design and implementation of formal monitoring techniques

  • Authors:
  • Eric Bodden

  • Affiliations:
  • McGill University, Montreal, PQ, Canada

  • Venue:
  • Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
  • Year:
  • 2007

Quantified Score

Hi-index 0.03

Visualization

Abstract

In runtime monitoring, a programmer specifies a piece of code to execute when a trace of events occurs during program execution. Previous and related work has shown that runtime monitoring techniques can beuseful in order to validate or guarantee the safety and security of running programs. Yet, those techniques have not yet been able to make the transition to everyday use in regular software development processes. This is due to two reasons. Firstly, many of the existing runtime monitoring tools cause a significant runtime overhead, lengthening test runs unduly. This is particularly true for tools that allow reasoning about single objects, opposed to classes. Secondly, the kind of specifications that can be verified by such tools often follow a quite cumbersome notation. This leads to the fact that only verification experts, not programmers, can at all understand what a given specification means and in particular, whether it is correct. We propose a methodology to overcome both problems by providing a design and efficient implementation of expressive formal monitoring techniques with programmer-friendly notations.