Zur Webseite der Informatik

Programming Languages and Compiler Group


The focus of our research are program analyses that support program understanding, preservation of architectural principles and software quality during maintenance, and early error detection. We devise new analysis methods and usually base them on algorithms used for code optimization in compilers but specially adapt them to the needs of global program analyses. In the Bauhaus system, we integrate these basic fact-finding analyses with special-purpose analyses, e.g., the detection of breaches of the architectural design or of synchronization errors in code. We always maintain the requirement that the developed analyses be applicable to large industrial software systems. The Bauhaus system provides the infrastructure in which we embed our analyses. Started in 1996 in Stuttgart, Bauhaus has been significantly enhanced in a cooperative effort with the University of Bremen and the company Axivion GmbH.

Presently the research in Stuttgart is primarily concentrated on the analysis of concurrent software, which has attracted the highest attention due to the advent of multicore hardware. The predictive identification of communication and its potential synchronization errors assists both existing systems and their migration to multicore computers.

In further activities, we work on programming language topics that affect the reliability of the produced software, be it by language constructs that are more secure, be it by guidelines on the use of existing languages and the avoidance of their vulnerabilities. In this context, we participate in ISO working groups concerned with the maintenance of the language Ada or with the description of vulnerabilities across the spectrum of programming languages and of guidelines for their avoidance.