Project Details
Zeiger als abstrakter Datentyp: komplexitätstheoretische und programmiersprachliche Aspekte
Applicant
Professor Dr. Martin Hofmann (†)
Subject Area
Theoretical Computer Science
Term
from 2010 to 2015
Project identifier
Deutsche Forschungsgemeinschaft (DFG) - Project number 173526576
In Programmiersprachen und Logiken werden Graphen und ähnliche Datenstrukturen meist nicht als Bitfolgen sondern als strukturierte Daten behandelt. Der Zugriff auf solche Daten erfolgt dann oft durch Zeiger, mit denen zum Beispiel die Knoten in einem Graphen bezeichnet werden können. In höheren Programmiersprachen wie Java sind diese Zeiger i.d.R. abstrakt, d.h. sie können nur mit bestimmten Operationen wie Gleichheit oder Dereferenzieren manipuliert werden; ihre Repräsentation als Bitfolgen bleibt unzugänglich. In diesem Projekt soll die Programmierung mit solchen abstrakten Zeigern auf ihre Ausdrucksstärke im Sinne der Komplexitätstheorie untersucht werden. Damit sollen Erkenntnisse über die Programmierung von Algorithmen mit logarithmischem Platzbedarf (LOGSPACE) sowie polynomieller Laufzeit (PTIME) gewonnen werden. Insbesondere streben wir eine programmiersprachlich relativierte Trennung der Klassen LOGSPACE und PTIME an. Eine solche besteht aus einer Programmiersprache oder Logik, in der viele natürliche LOGSPACE Algorithmen formuliert werden können, die aber dennoch nicht ganz PTIME erfasst. Eine absolute Trennung von LOGSPACE und PTIME im Turingmaschinenmodell erscheint derzeit unzugänglich und wird hier auch nicht angestrebt. Die theoretischen Erkenntnisse sollen auch zur Verbesserung der praktischen Programmierung mit abstrakten Zeigern in Form von Spezifikationstechniken und Spracherweiterungen beitragen.
DFG Programme
Research Grants
Participating Person
Dr. Ulrich Schöpp