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. Moreover, InterAspect uses specific information about each join point in a pointcut, possibly including results of static analysis, to support powerful customized instrumentation. We describe the InterAspect API and present several examples that illustrate its practical utility as a runtime-verification platform. We also introduce a tracecut system that uses InterAspect to construct program monitors that are formally specified as regular expressions.
| Original language | English |
|---|---|
| Pages (from-to) | 295-320 |
| Number of pages | 26 |
| Journal | Formal Methods in System Design |
| Volume | 41 |
| Issue number | 3 |
| DOIs | |
| State | Published - Dec 2012 |
Keywords
- Aspect-oriented programming
- GCC
- Monitoring
- Program instrumentation
- Tracecut
Fingerprint
Dive into the research topics of 'InterAspect: Aspect-oriented instrumentation with GCC'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver