Forschung

PS

Der Schwerpunkt unserer Forschung sind Programmanalysen, die dem Programmverstehen, dem Erhalt von Architektur und Qualität in der Wartung und der frühzeitigen Fehlervermeidung dienen.

Der Schwerpunkt unserer Forschung sind Programmanalysen, die dem Programmverstehen, dem Erhalt von Architektur und Qualität in der Wartung und der frühzeitigen Fehlervermeidung dienen. Dazu erforschen wir neue Methoden der Analyse und gründen diese auf Algorithmen aus der Codeoptimierung in Compilern, die hier aber für globale Analysen umgestaltet werden.

Im Bauhaus-System integrieren wir diese grundlegenden Analysen mit den zielgerichteten „special purpose“- Analysen, z. B. der Entdeckung von Architekturverletzungen oder von Synchronisationsfehlern im Programmcode. Stets halten wir an dem Anspruch fest, dass diese Analysen in der Lage sein müssen, auch große Industriesysteme erfolgreich zu bearbeiten. Das Bauhaus-System wurde seit 1996 in Stuttgart als die Infrastruktur entwickelt, in die unsere Arbeiten eingebettet sind, und wurde später in einer Kooperation mit der Universität Bremen und der Firma Axivion GmbH weiter ausgebaut.

Derzeit ist die Forschung in Stuttgart vor allem auf die Analysen nebenläufiger Software ausgerichtet, die durch Multicore-Hardware höchste Aktualität erhalten hat. Durch vorausschauendes Erkennen von Kommunikation und dabei fehlender Synchronisation erkennen wir mögliche Fehler, die oft durch Tests nicht gefunden werden können.

Wir erforschen auch, wie wir durch Änderung der Infrastruktur des Bauhaus-Systems Werkzeuge effizient integrieren können, die in mehreren Sprachen verfasst sind, und dabei auch diverse Änderungen der Zwischendarstellung der Programme tolerieren können.

Ferner arbeiten wir an programmiersprachlichen Fragen, die auf die Zuverlässigkeit der Software Einfluss nehmen, sei es durch sicherere Sprachelemente, sei es durch Richtlinien im Umgang mit existierenden Sprachen und deren bekannten Schwächen. In diesen Kontext fällt die Beteiligung an ISO-Arbeitsgruppen, die sich mit der Fortentwicklung der Programmiersprache Ada befassen oder mit der Beschreibung von Schwachstellen der Programmierung in diversen Programmiersprachen und deren Vermeidung durch Verwendungsrichtlinien.

Zum Seitenanfang