Skip to main navigation Skip to search Skip to main content

Aspect-oriented instrumentation with GCC

  • Stony Brook University
  • Jet Propulsion Laboratory, California Institute of Technology

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

22 Scopus citations

Abstract

We present the InterAspect instrumentation framework for GCC, a widely used compiler infrastructure. The addition of plug-in 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.

Original languageEnglish
Title of host publicationRuntime Verification - First International Conference, RV 2010, Proceedings
Pages405-420
Number of pages16
DOIs
StatePublished - 2010
Event2010 Runtime Verification Conference, RV 2010 - St. Julians, Malta
Duration: Nov 1 2010Nov 4 2010

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume6418 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference2010 Runtime Verification Conference, RV 2010
Country/TerritoryMalta
CitySt. Julians
Period11/1/1011/4/10

Fingerprint

Dive into the research topics of 'Aspect-oriented instrumentation with GCC'. Together they form a unique fingerprint.

Cite this