Using AOP for detailed runtime monitoring instrumentation

  • Authors:
  • Amjad Nusayr;Jonathan Cook

  • Affiliations:
  • New Mexico State University;New Mexico State University

  • Venue:
  • WODA '09 Proceedings of the Seventh International Workshop on Dynamic Analysis
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Although AOP has long been used for monitoring purposes, the level of detail that virtually all AOP frameworks support is not enough to support broad classes of monitoring applications. Often the method or function call is the basic unit of code weaving, and if some data access weaving is supported it is usually very limited, e.g., to object field access. In this paper we demonstrate the need for AOP to be extended if it is to support broad runtime monitoring needs, and then present two new joinpoint types for AspectJ, the basic block and loop back edge types. These allow much more fine-grained weaving of advice, which in turn supports a much larger category of runtime monitoring applications. We demonstrate the feasibility of these extensions with example prototype implementations using the AspectBench Compiler (abc).