Aspect-Oriented Instrumentation With GCC
The authors present the Inter-Aspect 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. Inter-Aspect addresses this situation by allowing instrumentation plug-ins to be developed using the familiar vocabulary of Aspect-Oriented Programming point-cuts, join points, and advice functions. Inter-Aspect also supports powerful customized instrumentation, where specific information about each join point in a point-cut, as well as results of static analysis, can be used to customize the inserted instrumentation.