Development of Infrastructures for Automatic Program Analysis

Markus Schordan

University of Applied Sciences Technikum Wien, Vienna, Austria

As the volume of existing software in the industry grows at a rapid pace, the problems of understanding, maintaining, and developing software assume great significance. A strong support for analysis of programs is essential for a practical and meaningful solution to such problems. To be able to analyze such software systems, powerful tools are required that can handle the complexity of popular languages such as C++, Java, and C#. We present an approach for combining analysis and transformation tools that enables their application to popular programming languages without extending existing compilers. The presented Static Analysis Tool Integration Engine (SATIrE) aims at integrating a broad range of analysis tools by providing additional gap-filling components, such that the selection of an arbitrary tool chain most suitable for a certain program analysis or manipulation task becomes feasable. The integrated tools are the LLNL-ROSE source-to-source infrastructure, the Program Analyzer Generator from AbsInt for abstract interpretation, and the language Prolog for manipulating terms representing C/C++ programs. Analysis results are made available as annotations of a common high-level intermediate representation and as generated source code annotations. We also support an external file format of the intermediate representation, allowing a tight integration with external tools.  


In 1997-2001 Markus Schordan was a research and teaching assistant at the University Klagenfurt (Department of Information Technology) in Austria. His research focused on alias analysis and data-flow analysis of object-oriented languages, in particular Java. He lectured on the subjects of formal languages and compiler construction, and taught courses in object-oriented programming, functional and logic programming. He earned his with distinction (mit ausgezeichnetem Erfolg) in Computer Science from the University Klagenfurt, Austria, in June 2001.

In 2001-2003 he gained international experience as post doctoral researcher at the Lawrence Livermore National Laboratory (Center for Applied Scientific Computing (CASC)), CA, USA. Working on the source-to-source infrastructure project ROSE his research focused on design and implementation of intermediate representations of object-oriented languages, domain specific high-level transformations, and parallelization.

In January 2004 he became university assistant at the Vienna University of Technology, Austria. He lectured on compiler construction and software frameworks. His research focused on tool integration, static analysis of object-oriented languages, source-to-source transformation, high-level optimization, and parallelization. In December 2007 he also became project leader of the ALL-TIMES project at TU Vienna. ALL-TIMES is a medium-scale focused-research project within the European Commission's 7th Framework Programme on Research, Technological Development and Demonstration.

In September 2008 he moved to a permanent position at University of Applied Sciences Technikum Wien and became Deputy Program Director of Game Engineering and Simulation. He continues to lecture on topics in the field of programming languages and also lectures on game engineering. His research focuses on analysis of object-oriented systems, including state-of-the-art game engines.

Contact Markus at:

Dr. Markus Schordan
University of Applied Sciences Technikum Wien
A-1200 Vienna, Austria
schordan at