Bauhaus Paper
Bauhaus Library
Bauhaus Home Page

R. Koschke, E. Plödereder. Ansätze des Programmverstehens.
In Franz Lehner (Ed.): Softwarewartung und Reengineering, Deutscher Universitätsverlag,
1996.
Abstract
Programmverstehen ist der Prozeß des Wissenserwerbs über ein
Computerprogramm. Es ist die Voraussetzung für Fehlersuche, Erweiterung,
Wiederverwendung und Dokumentation. Eine Reihe von Ansätzen versucht,
das Programmverstehen maschinell zu unterstützen. Die gegenwärtigen
Ansätze werden in diesem Artikel klassifiziert in grundlegende
und wissensbasierte Analysen.
Grundlegende Analysen verfügen über kein Wissen über
die Anwendung und allgemeine Programmierung; sie basieren lediglich auf
Programmiersprachensyntax und -semantik. Grundlegende Analysen lassen
sich weiter gliedern in grundlegende statische und grundlegende dynamische
Analysen, abhängig davon, ob sie zur Übersetzungszeit oder zur
Laufzeit vorgenommen werden. Wissensbasierte Analysen verfügen
über Anwendungswissen und allgemeines Programmierwissen. Wissensbasierte
Analysen lassen sich unterscheiden in Parsing-Ansätze, falls sie sich
ausschließlich auf formale und strukturelle Programmeigenschaften
stützen, und informelles Schließen, falls sie darüber hinaus
auch noch informelle Information in Betracht ziehen. Der Artikel gibt Beispiele
zu den verschiedenen Analyseformen.
Download
full paper as postscript
full paper as compressed postscript
(GNU zip)
Rainer Koschke,
Institute of Computer Science, University of Stuttgart, Germany.