Statische Analyse
Seminar im Wintersemester 2000/2001
Lehrstuhl für Softwaretechnologie, Prof. Dr. Willem-Paul de Roever
Veranstaltung: |
8188 (Seminar) |
Vorbesprechung: |
keine |
Termin: |
n.V. |
Zur Vollständigkeit halber: die zentralen Daten zur Vorlesung im
Univis
Abstract:
Fehler in Programmen sind, je nach Anwendung, lästig bis nicht
tolerierbar. Es gibt eine Vielzahl von Methoden, die es theoretisch
erlauben, die Korrektheit von Programmen nachzuweisen. Der Pferdefuß in
der Praxis ist dabei, daß sie für große, realistische Probleme
immensen bis unüberwindlichen Aufwand erfordern, so daß sie nur in
Extremfällen von sicherheitskritischen Systemen und/oder
Spezialanwendungen wie z.B. der Hardwareverifikation zur Anwendung
kommen.
Um routinemäßig Fehler aus großen industriell entwickelten Programmen
zu beseitigen, sind demgegenüber ausschließlich Methoden akzeptabel,
die häufig auftretende Fehlerklassen automatisch und sehr effizient
behandeln.
Die statische Analyse ist ein Oberbegriff für eine Vielzahl solcher
Methoden. Beispiele für solche Problemstellungen sind das Aufspüren
von Typinkonsistenzen mittels Type-Checking, Auffinden von potentiellen
Nullpointer-Dereferenzierungen bis hin zu Sicherheitsüberprüfungen beim
Herunterladen von Java-Applets.
Der Name ``Statische Analyse'' erklärt sich dadurch, daß die Analyse
nicht zur Laufzeit stattfindet, sondern vorab durchgeführt wird.
In dem Seminar werden ausgewählten Kapitel aus dem Buch
[NNH99] behandelt. Je nach Umfang des
Stoffes werden die Kapitel an ein oder zwei Seminarteilnehmer vergeben.
Als Themen bieten sich folgende an:
-
Datenflussanalyse
- Interprozedurale Datenflussanalyse
- Kontrollflussanalyse
- Abstrakte Interpretation
- Typ- und Effektsysteme
- Algorithmische Fragen
October 21, 2000
This document was translated from LATEX by
HEVEA and HACHA.