UnivIS
Informationssystem der Friedrich-Alexander-Universität Erlangen-Nürnberg © Config eG 
FAU Logo
  Sammlung/Stundenplan    Modulbelegung Home  |  Rechtliches  |  Kontakt  |  Hilfe    
Suche:      Semester:   
 
 Darstellung
 
Druckansicht

 
 
Modulbeschreibung (PDF)

 
 
 Außerdem im UnivIS
 
Vorlesungs- und Modulverzeichnis nach Studiengängen

 
 
Veranstaltungskalender

Stellenangebote

Möbel-/Rechnerbörse

 
 
Vorlesungsverzeichnis >> Technische Fakultät (TF) >>

Ausgewählte Kapitel aus dem Übersetzerbau (PS-AKadÜ)7.5 ECTS
(englische Bezeichnung: Selected Topics of Compiler Construction)

Modulverantwortliche/r: Michael Philippsen
Lehrende: Michael Philippsen


Startsemester: WS 2021/2022Dauer: 1 SemesterTurnus: jährlich (WS)
Präsenzzeit: 70 Std.Eigenstudium: 155 Std.Sprache: Deutsch

Lehrveranstaltungen:


Inhalt:

Themen der Vorlesung:

  • Übersetzer u. Optimierungen für funktionale Programmiersprachen

  • Übersetzung aspektorientierter Programmiersprachen

  • Erkennung von Wettlaufsituationen

  • Software Watermarking

  • Statische Analyse und symbolische Ausführung

  • Binden von Objektcode und Unterstützung für dynamische Bibliotheken

  • Strategien zur Ausnahmebehandlung

  • Just-in-Time-Übersetzer

  • Speicherverwaltung und Speicherbereinigung

  • LLVM

Themen der Übung:

  • Ziel des Blockpraktikums ist es, das Verständnis von virtuellen Maschinen zu vertiefen. Dazu implementieren die Studierenden eine eigene virtuelle Maschine für eine Beispielprogrammiersprache, deren Grundgerüst zu Beginn des Praktikums vorgegeben wird.

Lernziele und Kompetenzen:

Die Studierenden

  • vergleichen Übersetzungstechniken für unterschiedliche Programmierparadigmen

  • beschreiben die Übersetzung funktionaler Sprachen

  • erläutern die Funktionsweise von Typinferenz

  • legen Optimierungen für die Übersetzung funktionaler Sprachen dar

  • erläutern die Konzepte aspektorientierter Sprachen

  • schildern Übersetzungtechniken und Optimierungen für aspektorientierte Sprachen

  • vergleichen Techniken zur Übersetzung von Ausnahmen

  • nennen die Aufgaben eines Binders

  • geben die Struktur unterschiedlicher Formate für ausführbare Dateien an

  • vergleichen die Funktionsweise statischer und dynamischer Bibliotheken

  • vergleichen verschiedene Ansätze zur interpretierten Ausführung von Bytecode

  • schildern, wann sich der Umstieg von interpretierter zu nativer Ausführung lohnt

  • evaluieren, welche Sprachkonstrukte zur Ausführung in einer virtuellen Maschine geeignet sind

  • illustrieren die Arbeitsweise eines Just-In-Time-Compilers

  • beschreiben die Funktionsweise von Heuristiken, die Optimierungen beim Just-In-Time-Übersetzungsvorgang auslösen

  • erläutern gängige Optimierungen für Just-In-Time-Compiler

  • beschreiben Algorithmen zur automatischen Speicherbereinigung

  • erklären und vergleichen Techniken zur Erkennung von Wettlaufsituationen

  • erläutern Verfahren zur Einbettung von Wasserzeichen in Software

  • skizzieren die Eigenschaften von LLVM

  • legen die grundlegende Funktionsweise abstrakter Interpretation dar

  • beschreiben die Grundzüge der symbolischen Ausführung sowie möglicher Verbesserungen

  • erklären das Einlesen von Bytecode

  • implementieren einen einfachen Bytecode-Interpreter

  • setzen einen einfachen Just-In-Time-Compiler um

  • untersuchen den Wechsel zwischen Bytecode und nativem Code

  • implementieren Registervergabe mit linearem Scan

  • setzen Inlining auf Bytecode-Ebene um


Weitere Informationen:

www: https://www.ps.tf.fau.de/ue3/

Verwendbarkeit des Moduls / Einpassung in den Musterstudienplan:
Das Modul ist im Kontext der folgenden Studienfächer/Vertiefungsrichtungen verwendbar:

  1. Informatik (Master of Science)
    (Po-Vers. 2010 | TechFak | Informatik (Master of Science) | Gesamtkonto | Wahlpflichtbereich | Säule der softwareorientierten Vertiefungsrichtungen | Vertiefungsrichtung Programmiersysteme | Ausgewählte Kapitel aus dem Übersetzerbau)

Studien-/Prüfungsleistungen:

Ausgewählte Kapitel aus dem Übersetzerbau (Prüfungsnummer: 381033)
Prüfungsleistung, mündliche Prüfung, Dauer (in Minuten): 30, benotet, 7.5 ECTS
Anteil an der Berechnung der Modulnote: 100.0 %

Erstablegung: WS 2021/2022, 1. Wdh.: SS 2022
1. Prüfer: Michael Philippsen

UnivIS ist ein Produkt der Config eG, Buckenhof