Seminar Paper SEM-2008-04

BibliographyBischof, Marc: Interprozedurale SSA-Form Das Konzept der statischen Einmalzuweisung.
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Seminar Paper (2008).
14 pages, german.
CR-SchemaF.3.2 (Semantics of Programming Languages)
KeywordsSSA; Programm Analysis; ISSA; SSA-Form; Def-Use Information; Programmanalyse; statische Einmalzuweisung; static single assignment; interprocedural static single assignment; Interprozedurale Einmalzuweisung; Dominanz; Dominanzbäume; Dominanzgrenzen; Datenflussanalysen; May-Must Information; Alias Analyse; dominance frontiers; Zeigeranalyse; Lokatoren; Zeiger-SSA; Pointer-SSA; Variablen-SSA; variable SSA
Abstract

Die SSA Form dient als kompakte Alternative zur Darstellung von Def-Use-Informationen. Diese werden besonders als Basis vieler Analyse- und Optimierungstechniken in optimierenden Compilern, sowie zur Programm-Verifikation und Fehlererkennung verwendet. Da die klassische SSA Form lediglich auf einer einfachen While-Sprache beruht, können Analysen die Vorteile dieser kompakten Darstellung bisher nur für ihre intraprozeduralen Phasen nutzen.

Dieser Artikel behandelt daher die interprozedurale Erweiterung der klassischen SSA Form, damit darauf aufbauende Analysen diese auch in ihren interprozeduralen Phasen nutzen können. Hierbei muss der klassische Ansatz von Cytron um interprozedurale Bestandteile erweitert und geklärt werden wie man mit den dadurch entstehenden Problemen umgeht. Da in der Literatur nicht klar ist, was man eigentlich unter ISSA Form zu verstehen hat, entstehen oft Insellösungen, die notwendige Bestandteile auslassen. Das Ziel dieser Arbeit ist es also zu klären, was eine interprozedurale SSA Form beinhalten kann und wie die Bestandteile umgesetzt werden.

Dazu wird insbesondere auf den Umgang mit Zeigern und Prozeduren sowie deren Behandlung in verschiedenen Kontexten eingegangen. Es werden außerdem Möglichkeiten zur Modellierung des Heaps und Mehrfachzeigern erläutert. Anhand von Beispielen werden zwei Repräsentationen zur Modellierung der interprozeduralen SSA Form erläutert und anschließend verglichen.

Full text and
other links
PDF (456234 Bytes)
Access to students' publications restricted to the faculty due to current privacy regulations
Contactmc.bischof@googlemail.com
Department(s)University of Stuttgart, Institute of Software Technology, Programming Languages and Compilers
Superviser(s)Wiebe, Eduard
Entry dateNovember 17, 2008
   Publ. Institute   Publ. Computer Science