Dies sind die archivierten Webseiten des Lehrstuhls für Programmierung und Softwaretechnik (PST).
Die Seiten des Software and Computational Systems Lab (SoSy) finden Sie auf https://www.sosy-lab.org/.

Forschung an der LFE PST

Ein bedeutsames und derzeit noch unbefriedigend beherrschtes Problem im Software-Entwicklungsprozeß ist die Zuverlässigkeit der produzierten Software. Diese ist gegeben, wenn ein Softwaresystem im Sinne der Aufgabenstellung funktioniert und auch auf Fehler angemessen reagiert. Besonders in sicherheitskritischen Anwendungsgebieten, wie etwa beim Betrieb von Kernkraftwerken, bei der rechnergestützten Steuerung von Verkehrsmitteln und in der Medizin, ist es entscheidend, daß die verwendeten Programmsysteme zuverlässig und sicher arbeiten.

Die Korrektheit von Softwaresystemen wird im wesentlichen von den folgenden beiden Faktoren bestimmt:

  • von der Qualität der Anforderungsbeschreibung (Adäquatheit im Sinne der Anwendung) und
  • von der Qualität der konkreten Realisierung durch ein Programmsystem im Hinblick auf die Einhaltung der Anforderungen.

Ein vorrangiges Ziel der Lehr- und Forschungseinheit ist die Entwicklung von Methoden zur Verbesserung der Software-Qualität. Als Schlüssel zur Korrektheit von Software dienen formale Methoden, basierend auf mathematisch präzisen Notationen, da nur gegenüber formalen Beschreibungen von Anforderungen und Entwürfen Programme als fehlerfrei nachgewiesen werden können. Die Forschergruppe konzentriert sich dabei zum einen auf den Einsatz algebraischer Spezifikationen, deren Grundlagen Ende der 70iger Jahre von Prof. Wirsing mitentwickelt wurden und die eine abstrakte Beschreibung von Softwarekomponenten erlauben. Zum anderen wird die Verwendung Temporaler Logiken untersucht, die von Prof. Kröger mitentwickelt wurden und die zur systematischen und sicheren Entwicklung paralleler Programme eingesetzt werden.

Ein weiterer Forschungsschwerpunkt ist die Untersuchung und Erforschung von geeigneten Programmentwicklungstechniken, die die modulare Konstruktion von Software unter Einbeziehung der Wiederverwendung schon vorhandener Softwarekomponenten unterstützen. Durch die Wiederverwendung verifizierter (oder zumindest wohlerprobter) Softwarekomponenten soll neben der Verbesserung der Zuverlässigkeit von Softwaresystemen auch eine Reduzierung der Entwicklungskosten erreicht werden.