Statische Programmanalyse



Durch Bestimmung von Programmeigenschaften, wie Schleifeninvarianten, nicht erreichbarem Programmcode oder verfügbaren Ausdrücken, kann das Laufzeit- oder Speicherverhalten von Programmen oft entscheidend verbessert werden. Wird die Berechnung dieser Eigenschaften zur Übersetzungszeit eines Programmes durchgeführt, so spricht man von einer statischen Programmanalyse. Die Ergebnisse einer solchen Analyse werden typischerweise auch im Rahmen von Softwaretechniken, wie Fehlersuche auf Quellcodeebene, Integration unabhängig voneinander entwickelter Progammversionen und automatischer Parallelisierung, eingesetzt.

In Programmen mit Zeigern basiert eine statische Programmanalyse im allgemeinen auf den Ergebnissen einer vorher durchgeführten Aliasanalyse. Im Proseminar wollen wir aktuelle Verfahren zur Aliasanalyse diskutieren und anschließend miteinander vergleichen. Darüberhinaus werden wir zeigen, wie unter Verwendung dieser Verfahren Datenabhängigkeiten in Programmen mit Zeigern bestimmt werden können.

Das Proseminar richtet sich an Studierende (mit guten Kenntnissen) im Grundstudium in den Studiengängen Informatik (Diplom oder Lehramt an Gymnasien) oder Mathematik (Diplom).