Runtime verification based on register automata

  • Authors:
  • Radu Grigore;Dino Distefano;Rasmus Lerchedahl Petersen;Nikos Tzevelekos

  • Affiliations:
  • Queen Mary University of London, UK;Queen Mary University of London, UK;Microsoft Research, UK;Queen Mary University of London, UK

  • Venue:
  • TACAS'13 Proceedings of the 19th international conference on Tools and Algorithms for the Construction and Analysis of Systems
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

We propose TOPL automata as a new method for runtime verification of systems with unbounded resource generation. Paradigmatic such systems are object-oriented programs which can dynamically generate an unbounded number of fresh object identities during their execution. Our formalism is based on register automata, a particularly successful approach in automata over infinite alphabets which administers a finite-state machine with boundedly many input-storing registers. We show that TOPL automata are equally expressive to register automata and yet suitable to express properties of programs. Compared to other runtime verification methods, our technique can handle a class of properties beyond the reach of current tools. We show in particular that properties which require value updates are not expressible with current techniques yet are naturally captured by TOPL machines. On the practical side, we present a tool for runtime verification of Java programs via TOPL properties, where the trade-off between the coverage and the overhead of the monitoring system is tunable by means of a number of parameters. We validate our technique by checking properties involving multiple objects and chaining of values on large open source projects.