page 1  (41 pages)
2to next section

Semantik-basiertes Program-Slicing

fur Sprachen mit komplexen Kontrollstrukturen??

(IFI TR 95.22)

Zafer Ozturk ?

Swiss Life, General Guisan-Quai 40, 8022 Zurich, Schweiz
Email: [email protected]
Telefon: +41-1-711 3707. Fax: +41-1-711 5007.

Institut fur Informatik der Universitat Zurich,
Winterthurerstr. 190, 8057 Zurich, Schweiz
Email: [email protected]
Telefon: +41-1-257 4307. Fax: +41-1-363 0035.

Stichworte: Program-Slicing, Denotationelle Semantik, Continuation-Semantics, Standard ML, COBOL

Inhalt: Program-Slices wurden in den mittleren 80er Jahren durch M. Weiser [Wei84] eingefuhrt. Seither hat man unterschiedliche Ansatze vorgeschlagen, wie sie aus dem Programmtext hergeleitet werden konnen. Anfangs der 90er Jahre wurde erstmals die denotationelle Semantik verwendet, um Program-Slicer zu beschreiben. Als Zielsprache dienten einfache While-Sprachen ohne GOTO-Anweisung und ohne Prozeduren. Im Projekt aemes1 hingegen wird nun mit einer Zielsprache gearbeitet, die gerade mit diesen Sprungen und Prozeduren operiert. Um das Program-Slicing auch fur solche Sprachklassen beschreiben zu konnen, muss der Kontrollfluss innerhalb eines Programms berucksichtigt werden. Damit der Program-Slicer trotzdem mit Hilfe der denotationellen Semantik beschrieben werden kann, setzen wir die Continuation-Semantics ein. Damit werden Prozeduren und Sprunge im Kontrollfluss erfassbar und manipulierbar.

Die entsprechenden Konzepte werden wir an der Sprache MiCo2 mit GOTO-Anweisung und Prozeduren zeigen. Anschliessend an diese Beschreibung mit Hilfe der Continuation-Semantics werden wir einen Vorschlag fur die Abschatzung des Berechnungsaufwandes fur die ProgramSlices durch unseren Ansatz prasentieren.

??Der vorliegende Bericht erscheint in identischer Form im Juni '95 auch als Bericht 10/95 der InformatikForschungsgruppe der Lebensversicherungs- und Rentenanstalt/Swiss Life.
?Zafer Ozturk wird unterstutzt durch die Schweizerische Lebensversicherungs- und Rentenanstalt/Swiss Life. 1aemes steht fur An Extensible Maintenance Engineering System. Es ist ein Projekt, das zum Ziel hat, dem Wartungsprogrammierer eine Sammlung von Werkzeugen in einer erweiterbaren Umgebung anzubieten. Dieses Projekt wird unterstutzt durch das KWF (Kommission zur Forderung der Wissenschaftlichen Forschung), die Schweizerische Lebensversicherungs- und Rentenanstalt/Swiss Life und die Bull(Schweiz).
2MiCo steht fur Mini Cobol und kann als Kernsprache von COBOL betrachtet werden.