inf481 - Software Analysis (Vollständige Modulbeschreibung)

inf481 - Software Analysis (Vollständige Modulbeschreibung)

Originalfassung Englisch PDF Download
Modulbezeichnung Software Analysis
Modulkürzel inf481
Kreditpunkte 6.0 KP
Workload 180 h
Einrichtungsverzeichnis Department für Informatik
Verwendbarkeit des Moduls
  • Master Informatik (Master) > Theoretische Informatik
Zuständige Personen
  • Wehrheim, Heike (Modulverantwortung)
  • Lehrenden, Die im Modul (Prüfungsberechtigt)
Teilnahmevoraussetzungen

Nützliche Vorkenntnisse: Programmierung, Logik

Kompetenzziele

Softwareanalysen dienen der Berechnung von Fakten über Programme aus dem Programmtext. Solche Fakten können beispielsweise vom Compiler zur Optimierung während der Übersetzung eingesetzt werden, aber auch zur Verifikation von Korrektheitseigenschaften genutzt werden. Die Studierenden lernen verschiedene Analyseverfahren kennen, spezifizieren selber solche Verfahren und implementieren sie.
Fachkompetenzen
Die Studierenden:

  • lernen Datenflussanalysen kennen und können selber solche spezifizieren
  • benenen die Bestandteile eines Datenflusssystems
  •  wissen, wann Widening Operatoren für eine Datenflussanalyse nötig sind
  • können abstrakte Domänen und Operatoren für die Abstrakte Interpretation entwickeln und anwenden
  • kennen Prädikatabstraktion und das Prinzip der Gegenbeispiel-gesteuerten Abstraktionsverfeinerung
  • wissen, wann und wozu SSA Formen eingesetzt werden
  • können die Präzision und Skalierbarkeit von points-to Analysen abschätzen


Methodenkompetenzen

  • können Analysen formal definieren
  • können Eigenschaften von Analysen beweisen
  • können Analysen implementieren


Sozialkompetenzen
Die Studierenden:

  • bearbeiten in Gruppen Übungsaufgaben, diskutieren Ergebnisse
  • implementierten verteilt an einer Aufgabenstellung


Selbstkompetenzen
Die Studierenden:

  • organisieren sich selber bei der Arbeit an den Aufgabenstellungen des Moduls
Modulinhalte
  • Datenflussanalysen
  • Abstrakte Interpretation
  • Prädikatabstraktion, CEGAR
  • SSA-Formen
  • Slicing
  • Points-to Analysen
  • Symbolische Ausführung
Literaturempfehlungen
  • Nielson, Nielson, Hankin: Principles of Program Analysis, Springer, 2004.
Links
Unterrichtssprache Englisch
Dauer in Semestern 1 Semester
Angebotsrhythmus Modul jedes Sommersemester
Aufnahmekapazität Modul unbegrenzt
Lehr-/Lernform V + Ü
Vorkenntnisse Nützliche Vorkenntnisse: Programmierung, Logik
Lehrveranstaltungsform Kommentar SWS Angebotsrhythmus Workload Präsenz
Vorlesung 2 SoSe 28
Übung 2 SoSe 28
Präsenzzeit Modul insgesamt 56 h
Prüfung Prüfungszeiten Prüfungsform
Gesamtmodul

Wöchentliche Übungsaufgaben, Praktikumsaufgaben im Block, mündliche Prüfung am Ende

Klausur oder mündl. Prüfung