TU BRAUNSCHWEIG

Seminar: Statische Programmanalyse -- Grundlagen und Anwendungen

Aktuelles

  • Der Termin für das Kick-Off ist vrstl. der 29.10.2015 um 11.00 bis 11:45 Uhr in Raum IZ 349.

Organisatorisches

Dozent
Betreuer:
Prof. Dr.-Ing. Ina Schaefer
Benjamin Schmidt, Dipl.-Inform.
Sönke Holthusen, M.Sc.
Credits: Je nach Studiengang und Abschluss; ein CP/LP = 30 h aufzuwendende Zeit
Zielgruppe: Bachelor und Master-Studierende der Studiengänge Informatik, Wirtschaftsinformatik und IST mit Interesse an wissenschaftlichem Arbeiten
Anmeldung: Die Seminarvergabe erfolgt über Stud.IP. Die Veranstaltung ist auf maximal 10 Teilnehmer begrenzt! 
Bewertung:

Für die erfolgreiche Teilnahme an der Veranstaltung sind folgende Kriterien vollständig zu erfüllen:

  • Schriftliche Ausarbeitung zum Thema (Bachelor: 8 Seiten, Master 10 Seiten; jeweils in ACM Format).
  • 25-30 minütiger Vortrag + Diskussion zum Thema.
  • Begutachtung von zwei anderen Ausarbeitungen.
  • Teilnahme an allen Veranstaltungen.
Voraussetzungen: Es gibt keine Zulassungsvoraussetzungen. Die Studierenden sollten allerdings ein gewisses Maß an Selbstständigkeit mitbringen. Weiterhin ist es von Vorteil (aber nicht zwingend notwendig), wenn die Studierenden ein gutes mathematisch-formales Verständnis haben und ggf. schon etwas Erfarhung mit formalen Aspekten von Programmiersprachen haben (z.B. Compiler I).

Termine

Kick-Off:

  • Das Kick-Off findet voraussichtlich (nicht fix) am 29.10.2015 um 11.00 Uhr im Raum IZ 349 (ISF Bibliothek) statt.
  • Weitere Termine werden im StudIP bekannt gegeben.

Inhalt

Die Statische Programmanalyse bietet eine Reihe von Techniken zur Quelltextanalyse von Programmen. Mittels dieser Techniken können approximativ Informationen über das dynamische Verhalten der Programme berechnet werden, wie z.B. toter Quelltext oder uninitialisierte Variablen. Die Hauptanwendung Statischer Programmanalyse ist die Optimierung von Quelltext im Compilerbau um dadurch Laufzeit- oder Speicherverhalten von Programmen entscheidend zu verbessern. Wird die Berechnung der zuvor genannten Eigenschaften zur Übersetzungszeit eines Programmes durchgeführt, so spricht man von einer statischen Programmanalyse. Dieses Seminar gibt einen Überblick über bestehende Techniken und ihre Anwendungsmöglichkeiten.

Themen:

Folgende Themen stehen zur Auswahl. Literaturliste

  1. Code Metrics (Bachelor)
  2. Practical Data-Flow Analysis (Bachelor)
  3. Monotone Frameworks (Master)
  4. Static Program Slicing (Bachelor)
  5. Pattern-based Bug Detection (Bachelor)
  6. Call String Based Interprocedural Analysis (Master)
  7. Graph-based Interprocedural Frameworks (Master)
  8. Points-to Analysis (Master)
  9. Data-flow Analysis of Software Product Lines (Master)
  10. Abstract Interpretation (Master)

Für jedes Thema (und die dazugehoerige Ausarbeitung) sollen folgende Aspekte betrachtet werden (sofern anwendbar).

  • Motivation
  • Grundlagen
  • Hauptaspekte des jeweiligen Themas, z.B.
    • Anwendungsbereiche
    • Funktionsweise
    • Aussagekraft der Analyse
    • Präzision, Korrektheit, Vollständigkeit
    • Komplexität
    • Beschränkungen
    • ggf. aktuelle Tools/Implementierungen
Hinweis: Ein Großteil der Veranstaltung Veranstaltung besteht aus selbstständiger Arbeit. Alle Teilnehmer sollten deshalb ca. 1 Arbeitstag pro Woche für die Bearbeitung der jeweiligen Aufgabe einkalkulieren und dies auch in ihrer Zeitplanung für das Semester berücksichtigen.

Lernziele & erworbene Kompetenzen

Als übergeordnete Lernziele werden in dieser Veranstaltung folgende Kompetenzen erworben:

  • Strukturiertes Vorgehen beim Suchen, Lesen und Verstehen von (zumeist englischsprachiger) Fachliteratur
  • Strukturierte Aufbereitung der erworbenen Erkenntnisse
  • Weitergabe der Erkenntnisse im Rahmen einer Präsentation
  • Persönliches Zeitmanagement

  aktualisiert am 30.06.2015
TU_Icon_E_Mail_1_17x17_RGB Zum Seitenanfang