Basser Seminar Series

Recognition and Optimization of Object-Oriented High-Level Abstractions

Markus Schordan
Vienna University of Technology
Institute of Computer Languages

Wednesday 5 July 2006, 4-5pm

Lecture Theatre, Level 1, School of IT Building (Click for campus map, map reference L25/L26)

Abstract

The use of high-level abstractions is an essential ingredient to productivity in software development. But the process of defining and using higher levels of abstraction is often hindered by the performance penalty that the user has to pay when using high-level abstractions. The importance for providing adequate compiler technology for optimizing high-level abstractions is increasing as is the size of industrial applications every year.

We shall present the source-to-source infrastructure ROSE that supports research on compiler technology for recognizing and optimizing abstractions. The most important features are highlighted with examples from our own work in optimizing high-level abstractions of high-performance scientific applications and automatic detection and documentation of design patterns. We shall also discuss the architecture of ROSE and the integration of tools, such as the Program Analysis Generator (PAG) from AbsInt, for performing abstract interpretation. For supporting various kinds of transformations, ROSE offers multiple levels of rewrite interfaces, which we demonstrate with a number of transformations. All program transformations are performed as source-to-source transformations. Most work has focused on C/C++ programs, addressing the full C++ language.

Speaker's biography

Markus Schordan is an assistant professor at the Vienna University of Technology, Institute of Computer Languages, in the Programming Languages and Compiler Construction group. His main research interests include analysis of object-oriented languages, alias analysis, source-to-source infrastructures, high-level optimizations, and parallelization.

He earned his Ph.D. degree in Computer Science from the University Klagenfurt, Austria, in June 2001. In 2001-2003 he was post doctoral researcher at the Lawrence Livermore National Laboratory (Center for Applied Scientific Computing (CASC)), CA, USA, working on the source-to-source infrastructure ROSE and designed its base components for static program analysis and tool integration. In December 2003 he became assistant professor at the Vienna University of Technology, Austria. He serves as PC member of JMLC (since 2003), SYNASC (since 2005), and in 2003 of EuroPar'03. Since 2004 he is a member of the Compilers and Timing Analysis Cluster in the ARTIST2 Network of Excellence on Embedded Systems Design.