Event-based runtime verification of java programs

  • Authors:
  • Marcelo d'Amorim;Klaus Havelund

  • Affiliations:
  • University of Illinois Urbana-Champaign;Kestrel Technology, Palo Alto

  • Venue:
  • WODA '05 Proceedings of the third international workshop on Dynamic analysis
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

We introduce the temporal logic HAWK and its supporting tool for runtime verification of Java programs. A monitor for a HAWK formula checks if a finite trace of program events satisfies the formula. HAWK is a programming-oriented extension of the rule-based EAGLE logic that has been shown capable of defining and implementing a range of finite trace monitoring logics, including future and past time temporal logic, metric (real-time) temporal logics, interval logics, forms of quantified temporal logics, extended regular expressions, state machines, and others. Monitoring is achieved on a state-by-state basis avoiding any need to store the input trace. HAWK extends EAGLE with constructs for capturing parameterized program events such as method calls and method returns. Parameters can be executing thread, the objects that methods are called upon, arguments to methods, and return values. HAWK allows one to refer to these in formulae. The tool synthesizes monitors from formulae and automates program instrumentation.