185.A04 Optimierende Übersetzer
Diese Lehrveranstaltung ist in allen zugeordneten Curricula Teil der STEOP.
Diese Lehrveranstaltung ist in mindestens einem zugeordneten Curriculum Teil der STEOP.

2018W, VU, 2.0h, 3.0EC, wird geblockt abgehalten

Merkmale

  • Semesterwochenstunden: 2.0
  • ECTS: 3.0
  • Typ: VU Vorlesung mit Übung

Ziele der Lehrveranstaltung

Die Studierenden erhalten ein umfassendes Verständnis der
theoretischen Grundlagen und praktischen Anwendungen von
Programmanalyse und -optimierung im Übersetzerbau. Sie lernen, die
Möglichkeiten und Grenzen automatischer Analysen und Optimierungen
einzuschätzen und sind im Wissen darum in der Lage, über Anwendungen
im Übersetzerbau hinaus, Software so zu schreiben, dass, wo möglich,
Entwurfsziele wie Klarheit, Wartbarkeit, Robustheit vor unnötigen
Effizienzüberlegungen in den Vordergrund treten.

Inhalt der Lehrveranstaltung

Die Vorlesung vertieft in Theorie und Praxis das Gebiet
Programmanalyse und -optimierung, das ein wesentliches
Forschungsgebiet im Bereich Programmiersprachen und Übersetzerbau
ist. Dabei spannt die Vorlesung den Bogen von den theoretischen
Grundlagen bis zur praktischen Anwendung und der automatischen
Generierung von Programmanalysen und Optimierungen. Im Übungsteil
werden die in der Vorlesung behandelten Themen in theoretischen und
praktischen Übungen eigenständig vertieft. Für die praktischen Übungen
wird dabei die Static Analysis Tool Integration Engine SATIrE
eingesetzt; ein System, das diverse Werkzeuge für die Analyse und
Optimierung von objektorientierten Sprachen integriert, darunter den
Program Analyzer Generator (PAG).

Teil I: Einführung

  • Motivation
  • Klassische Gen/Kill-Datenflussanalysen

Teil II: Intraprozedurale Datenflussanalyse

  • Intraprozeduraler Datenflussanalyserahmen
  • Gen/Kill-Datenflussanalysen reinspiziert
  • Konstantenausbreitung und -faltung
  • Partielle Redundanzelimination (PRE)
  • PRE: Busy Code Motion
  • PRE: Lazy Code Motion
  • PRE: Sparse Code Motion
  • PRE: Zusammenfassung, Ausblick

Teil III: Interprozedurale Datenflussanalyse

  • Grundlagen
  • Interprozeduraler Datenflussanalyserahmen
  • Funktionaler Ansatz
  • Kontextinformationsansatz
  • Anwendungen

Teil IV: Erweiterungen, andere Sprachumgebungen

  • Alias- und Heap-Analysen
  • Optimierungen für objektorientierte Sprachen

Teil V: Abschluss und Ausblick

  • Zusammenfassung, Ausblick

Literaturverzeichnis

Anhänge

  • Mathematische Grundlagen
  • Flussgraphen, Darstellungspragmatik
  • Implementierung von Busy und Lazy Code Motion
  • Lazy Strength Reduction

Die Vorbesprechung und daran anschließend die erste Vorlesung finden
am Dienstag, den 02.10.2018, von 15:15 - 16:45 Uhr im Hörsaal GM7
Kleiner Schiffbau, Bauteil BD Hoftrakt (1. Stock), Raumnummer BD01B41,
Getreidemarkt 9, statt.



Weitere Informationen

Aufteilung der ECTS-Punkte:

Der Lehrveranstaltung sind 3.0 ECTS-Punkte zugeordnet. Diese
entsprechen einem durchschnittlichen Lernaufwand von 75
Stunden. Dieser durchschnittliche Lernaufwand verteilt sich in
folgender Weise auf die einzelnen Teile der Lehrveranstaltung:

  • Vorlesungsbesuch und -vor- und -nachbereitung: 35 Std.
  • Übungsaufgaben und Abgabegespräche: 35 Std.
  • Prüfungsvorbereitung und mündliche Prüfung: 5 Std.

Vortragende

Institut

LVA Termine

TagZeitDatumOrtBeschreibung
Di.15:00 - 17:0002.10.2018 - 22.01.2019Kleiner Schiffbau LVA 185.A04 Optimierende Compiler
Optimierende Übersetzer - Einzeltermine
TagDatumZeitOrtBeschreibung
Di.02.10.201815:00 - 17:00Kleiner Schiffbau LVA 185.A04 Optimierende Compiler
Di.09.10.201815:00 - 17:00Kleiner Schiffbau LVA 185.A04 Optimierende Compiler
Di.16.10.201815:00 - 17:00Kleiner Schiffbau LVA 185.A04 Optimierende Compiler
Di.23.10.201815:00 - 17:00Kleiner Schiffbau LVA 185.A04 Optimierende Compiler
Di.30.10.201815:00 - 17:00Kleiner Schiffbau LVA 185.A04 Optimierende Compiler
Di.06.11.201815:00 - 17:00Kleiner Schiffbau LVA 185.A04 Optimierende Compiler
Di.13.11.201815:00 - 17:00Kleiner Schiffbau LVA 185.A04 Optimierende Compiler
Di.20.11.201815:00 - 17:00Kleiner Schiffbau LVA 185.A04 Optimierende Compiler
Di.27.11.201815:00 - 17:00Kleiner Schiffbau LVA 185.A04 Optimierende Compiler
Di.04.12.201815:00 - 17:00Kleiner Schiffbau LVA 185.A04 Optimierende Compiler
Di.11.12.201815:00 - 17:00Kleiner Schiffbau LVA 185.A04 Optimierende Compiler
Di.18.12.201815:00 - 17:00Kleiner Schiffbau LVA 185.A04 Optimierende Compiler
Di.08.01.201915:00 - 17:00Kleiner Schiffbau LVA 185.A04 Optimierende Compiler
Di.15.01.201915:00 - 17:00Kleiner Schiffbau LVA 185.A04 Optimierende Compiler
Di.22.01.201915:00 - 17:00Kleiner Schiffbau LVA 185.A04 Optimierende Compiler
LVA wird geblockt abgehalten

Leistungsnachweis

Beurteilung der Beispiele aus der Übung und mündliche Abschlussprüfung
über Vorlesungs- und Übungsstoff. Weitere Angaben zum Beurteilungs-
und Prüfungsablauf sind auf der homepage der Lehrveranstaltung
gegeben.

LVA-Anmeldung

Von Bis Abmeldung bis
01.10.2018 01:00 12.10.2018 12:00 26.10.2018 12:00

Gruppen-Anmeldung

GruppeAnmeldung VonBis
Optimierende Übersetzer 101.10.2018 12:0012.10.2018 12:00
Optimierende Übersetzer 201.10.2018 12:0012.10.2018 12:00
Optimierende Übersetzer 301.10.2018 12:0012.10.2018 12:00
Optimierende Übersetzer 401.10.2018 12:0012.10.2018 12:00
Optimierende Übersetzer 501.10.2018 12:0012.10.2018 12:00
Optimierende Übersetzer 601.10.2018 12:0012.10.2018 12:00
Optimierende Übersetzer 701.10.2018 12:0012.10.2018 12:00
Optimierende Übersetzer 801.10.2018 12:0012.10.2018 12:00
Optimierende Übersetzer 901.10.2018 12:0012.10.2018 12:00
Optimierende Übersetzer 1001.10.2018 12:0012.10.2018 12:00
Optimierende Übersetzer 1101.10.2018 12:0012.10.2018 12:00
Optimierende Übersetzer 1201.10.2018 12:0012.10.2018 12:00
Optimierende Übersetzer 1301.10.2018 12:0012.10.2018 12:00
Optimierende Übersetzer 1401.10.2018 12:0012.10.2018 12:00
Optimierende Übersetzer 1501.10.2018 12:0012.10.2018 12:00
Optimierende Übersetzer 1601.10.2018 12:0012.10.2018 12:00
Optimierende Übersetzer 1701.10.2018 12:0012.10.2018 12:00
Optimierende Übersetzer 1801.10.2018 12:0012.10.2018 12:00
Optimierende Übersetzer 1901.10.2018 12:0012.10.2018 12:00
Optimierende Übersetzer 2001.10.2018 12:0012.10.2018 12:00

Curricula

Literatur

Es wird kein Skriptum zur Lehrveranstaltung angeboten.

Vorkenntnisse

Die Vorlesung schließt inhaltlich an die bisherige Lehrveranstaltung 185.311
Übersetzerbau an und ergänzt die bisherigen Lehrveranstaltungen 185.274
Weiterführender Übersetzerbau und die akuelle Lehrveranstaltung 185.276
Analyse und Verifikation. Sie empfiehlt sich deshalb inbesondere für
Studierende, die im Bereich von Programmiersprachen und Übersetzerbau
einen besonderen Schwerpunkt setzen, eine Seminararbeit, ein Praktikum
oder ihre Diplomarbeit anfertigen möchten.

Vorausgehende Lehrveranstaltungen

Begleitende Lehrveranstaltungen

Weitere Informationen

Sprache

Deutsch