Aspect-oriented instrumentation with GCC

  • Authors:
  • Justin Seyster;Ketan Dixit;Xiaowan Huang;Radu Grosu;Klaus Havelund;Scott A. Smolka;Scott D. Stoller;Erez Zadok

  • Affiliations:
  • Department of Computer Science, Stony Brook University;Department of Computer Science, Stony Brook University;Department of Computer Science, Stony Brook University;Department of Computer Science, Stony Brook University;Jet Propulsion Laboratory, California Institute of Technology;Department of Computer Science, Stony Brook University;Department of Computer Science, Stony Brook University;Department of Computer Science, Stony Brook University

  • Venue:
  • RV'10 Proceedings of the First international conference on Runtime verification
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present the INTERASPECT instrumentation framework for GCC, a widely used compiler infrastructure. The addition of plugin support in the latest release of GCC makes it an attractive platform for runtime instrumentation, as GCC plug-ins can directly add instrumentation by transforming the compiler's intermediate representation. Such transformations, however, require expert knowledge of GCC internals. INTERASPECT addresses this situation by allowing instrumentation plug-ins to be developed using the familiar vocabulary of Aspect-Oriented Programming pointcuts, join points, and advice functions. INTERASPECT also supports powerful customized instrumentation, where specific information about each join point in a pointcut, as well as results of static analysis, can be used to customize the inserted instrumentation. We introduce the INTERASPECT API and present several examples that illustrate how it can be applied to useful runtime verification problems.