Standardized Intermediate Representation for Fortran, Java, C and C++ Programs

2004 
When building a performance analysis tool, one usually needs to select an instrumentation engine for a specific programming language. Instrumentation engines commonly traverse an internal, mostly non-portable program representation in order to insert probes that collect performance information during execution of an instrumented program. Performance analysis tools are built on non-standardized instrumentation engines, which forces performance tools to develop separate interfaces to instrumentation engines and adjust to different intermediate program representations, one for every different instrumentation engine. In the context of the Apart working group, we designed a unique intermediate program representation named SIR as an XML-language, which we propose as a standard to be used by a large variety of performance analysis tools. The basic idea of SIR is to provide a standardized intermediate program representation that must be supported by a large variety of instrumentation engines covering the most important programming languages. SIR has been defined thus far for Fortran, C, C++, and Java thus we demonstrated that SIR comprises both procedural and object-oriented programming languages. Through a SIR, performance analysis tools no longer have to adjust to different program representations for every different instrumentation engine. Moreover, in combination with a standardized instrumentation request language, a comprehensive interface between performance analysis tools and instrumentation engines is described.
    • Correction
    • Cite
    • Save
    • Machine Reading By IdeaReader
    1
    References
    15
    Citations
    NaN
    KQI
    []