TY - GEN
T1 - Aspect-oriented instrumentation with GCC
AU - Seyster, Justin
AU - Dixit, Ketan
AU - Huang, Xiaowan
AU - Grosu, Radu
AU - Havelund, Klaus
AU - Smolka, Scott A.
AU - Stoller, Scott D.
AU - Zadok, Erez
PY - 2010
Y1 - 2010
N2 - 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.
AB - 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.
UR - https://www.scopus.com/pages/publications/78650151109
U2 - 10.1007/978-3-642-16612-9_31
DO - 10.1007/978-3-642-16612-9_31
M3 - Conference contribution
AN - SCOPUS:78650151109
SN - 3642166113
SN - 9783642166112
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 405
EP - 420
BT - Runtime Verification - First International Conference, RV 2010, Proceedings
T2 - 2010 Runtime Verification Conference, RV 2010
Y2 - 1 November 2010 through 4 November 2010
ER -