Seminar: Zeiger


Martin Hofmann

Organisatorisches

Bei Interesse wird um Voranmeldung an Frau Nentwich-Mertel gebeten.

Die Themenvergabe findet bei der Vorbesprechung in der ersten Semesterwoche statt.

Zum Inhalt

Das Schreiben korrekter Programme, welche Zeiger verwenden, ist bekanntlich eine knifflige Angelegenheit mit vielen Gelegenheiten für hartnäckige Fehler, so z.B. unbeabsichtigte Fernwirkungen durch Aliasing (verschiedene Zeiger verweisen auf überlappende Bereiche) oder Memory Leaks.

In funktionalen Programmiersprachen dagegen treten diese Probleme nur in sehr beschränktem Masse auf, dafür hat man Effizienzverluste aufgrund der garbage collection in Kauf zu nehmen.

Ausserdem implementieren Zeiger das abstrakte Konzept der Identität: Objekte oder Datensätze bekommen durch ihre Speicheradresse eine eindeutige Kennung zugewiesen. Dies spielt bei manchen Algorithmen (union-find, heapsort) eine Rolle und stellt auch ein zentrales Konzept der objektorientierten Programmierung dar.

In den letzten Jahren hat die formale Beschreibung der mit Zeigern assoziierten Phänomene grosse Fortschritte gemacht; so gibt es mittlerweile z.B.

Im Seminar wollen wir uns anhand einer Auswahl der u.a. Originalarbeiten einen Überblick über dieses Themengebiet verschaffen.

Vorkenntnisse

Grundkenntnisse in der Logik; Kenntnis von C, sowie einer funktionalen Programmiersprache (ersatzweise auch Java).

Literatur

Last modified: Wed Jan 23 14:42:24 CET 2002