Universität
Karlsruhe
Fakultät für Informatik
Institut für Programmstrukturen
und Datenorganisation
Prof. Dr. Gerhard Goos
Dr. Uwe Assmann
Boris Boesler
Thilo Gaul
Daniela Genius
Sabine Glesner
Dr. Welf Löwe
Andreas Ludwig
Proseminar
Verfahren zur Programmanalyse
SS 1999
Allgemeine Hinweise
Inhalt
Will man effiziente und zuverlässige Programme erstellen, so muß
man diese nicht nur schreiben, sondern sollte außerdem in der Lage
sein, ihre wichtigen Eigenschaften ermitteln zu können. Das genau
ist die Aufgabe der Programmanalyse. Die Ergebnisse von Programmanalyseverfahren
werden in verschiedenen Bereichen wie beispielsweise der Optimierung von
Programmen eingesetzt: Kann man z.B. nachweisen, daß ein Ausdruck
in einem Programm immer einen konstanten Wert annimmt, so muß er
nicht in jedem Programmablauf neu berechnet werden, sondern kann direkt
mit einer Konstante übersetzt werden. Grundlage für diese Analyseverfahren
sind mathematische Hilfsmittel, für deren Verständnis Kenntnisse
aus dem Grundstudium ausreichen.
Grundlage des Proseminars ist ein aktuelles, offiziell noch nicht erschienenes
Lehrbuch (Nielson/Nielson/Hankin: Principles of Program Analysis). Mit
unserer Hilfe sollen im Proseminar die Inhalte der einzelnen Kapitel erarbeitet
und in Vorträgen vorgestellt werden.
Organisation
- Wöchentlicher Termin
- Das Proseminar findet mittwochs, 11:30-13:00 Uhr, im Seminarraum 062
im Rechenzentrum statt.
- Vorträge
- Anhand des oben genannten Lehrbuchs bzw. anhand von Kopien des jeweils
relevanten Kapitels sollen Vorträge erarbeitet werden, die den Stoff
eines Kapitels bzw. eines Teils davon umfassen, abhängig vom jeweiligen
Umfang. Die Vorträge sollten nicht länger als eine Stunde dauern,
um im Anschluß daran die Möglichkeit zur Diskussion und zu Fragen
zu geben.
- Vortragsfolien
- Der Vortrag wird anhand von Folien gehalten. Es können dabei ungefähr
25 Folien verwendet werden, die mindestens eine Woche vor dem Vortrag mit
dem jeweiligen Betreuer durchgesprochen werden sollten.
- Schriftliche Ausarbeitung
- Außerdem wird eine schriftliche Ausarbeitung des Vortrags erwartet,
die nicht mehr als 12 Seiten betragen sollte. Diese Ausarbeitung soll mit
dem Textverarbeitungssystem Latex geschrieben werden, um ein einheitliches
Format für das Proseminar zu gewährleisten. Falls nötig,
werden die Betreuer bei der Einarbeitung in Latex Unterstützung anbieten.
Eine Vorversion der schriftlichen Ausarbeitung sollte 9 Tage vor dem
Vortrag (also an dem Montag eineinhalb Wochen davor) dem Betreuer vorgelegt
werden, um letzte Unklarheiten zu beseitigen. Die erste Version der Ausarbeitung
wird einen Tag vor dem Vortrag (also dienstags) dem Betreuer gegeben, so
daß dieser davon Kopien erstellen kann, die dann während des
Vortrags jedem Teilnehmer vorliegen. Damit wird es allen Teilnehmern ermöglicht,
die Vorträge nacharbeiten zu können.
- Anwesenheitspflicht
- Wir erwarten, daß alle Teilnehmer an jedem Vortrag anwesend sind.
- Arbeitsunterlagen
- Neben den Unterlagen, die nur den eigenen Vortrag betreffen, erhält
jeder Teilnehmer folgendes:
Anhang A des Buches von Nielson/Nielson/Hankin, das die mathematischen
Grundlagen zusammenfaßt.
- Email-Adressen und Telefonnummern der Betreuer
(Anmeldung und allgemeine Fragen bitte an Sabine Glesner richten.)
| Dr. Uwe Assmann |
Tel.: 608 - 6088 |
assmann@ipd.info.uni-karlsruhe.de |
| Boris Boesler |
Tel.: 608 - 6087 |
boesler@ipd.info.uni-karlsruhe.de |
| Thilo Gaul |
Tel.: 608 -7398 |
gaul@ipd.info.uni-karlsruhe.de |
| Daniela Genius |
Tel.: 608 - 4763 |
genius@ipd.info.uni-karlsruhe.de |
| Sabine Glesner |
Tel.: 608 - 7399 |
glesner@ipd.info.uni-karlsruhe.de |
| Dr. Welf Löwe |
Tel.: 608 - 4762 |
loewe@ipd.info.uni-karlsruhe.de |
| Andreas Ludwig |
Tel.: 608 - 4763 |
ludwig@ipd.info.uni-karlsruhe.de |
Themen und Termine
Folgende Themen und Termine sind während des Sommersemesters 1999
vorgesehen:
- 1.
- Einleitungsvortrag: Beispiele zur Programmanalyse, mathematische
Grundlagen für das Proseminar
(Kapitel 1 + Anhang A)
Termin: 21.4.1999
Vortragende: Sabine Glesner
- 2.
- Datenflußanalyse I: Typische Beispiele
(Kapitel 2, S. 33-52)
Termin: 28.4.1999
Vortragende: Daniela Genius
- 3.
- Datenflußanalyse II: Theoretische Eigenschaften
(Kapitel 2, S. 52-63)
Termin: 12.5.1999
Vortragender: Christian Domsch
Betreuer: Ludwig
- 4.
- Datenflußanalyse III: Monotone Frameworks
(Kapitel 2, S. 63-72)
Termin: 19.5.1999
Vortragender: Benedikt Schulz
- 5.
- Steuerflußanalyse I: Beispiel-Analyse
(Kapitel 3, S. 139-151)
Termin: 26.5.1999
Vortragender: Sven Oberländer
Betreuer: Boesler / Gaul
- 6.
- Steuerflußanalyse II: Theoretische Eigenschaften
(Kapitel 3, S. 152-164)
Termin: 2.6.1999
Vortragender:
Betreuer: Boesler / Gaul
- 7.
- Abstrakte Interpretation I: Beispiele & Widening-Operatoren
(Kapitel 4, S. 205-223)
Termin: 9.6.1999
Vortragender: Boris Boesler
- 8.
- Abstrakte Interpretation II: Narrowing-Operatoren & Galois-Verbindungen
(Kapitel 4, S. 223-239)
Termin: 16.6.1999
Vortragender: Dirk Heuzeroth
- 9.
- Type & Effect Systems: Beispiele & theoretische Eigenschaften
(Kapitel 6, S. 277-294)
Termin: 23.6.1999
Vortragender: Holger Bär
- 10.
- Algorithmen I: Standard-Algorithmen
(Kapitel 6, S. 1-20)
Termin: 30.6.1999
Vortragender: Stefan Mandel
Betreuer: Löwe
- 11.
- Algorithmen II: Algorithmen für große dynamische
Systeme
(Kapitel 6, S. 20-38)
Termin: 7.7.1999
Vortragender:
Betreuer: Löwe