Seminar: Fortgeschrittene Konzepte der Softwaretechnik

Das selbstständige Erarbeiten neuer Themen stellt eine zentrale Kompetenz dar, die sowohl im Studium als auch darüber hinaus von wesentlicher Bedeutung ist, insbesondere vor dem Hintergrund sich stetig wandelnder Technologien und Forschungsfelder. Dieses Seminar trägt dieser Anforderung Rechnung, indem es die eigenständige Auseinandersetzung mit aktuellen wissenschaftlichen Fragestellungen in den Mittelpunkt stellt.

Ziel der Veranstaltung ist es, die Studierenden dazu zu befähigen, sich systematisch in ein neues wissenschaftliches Themengebiet einzuarbeiten, die erarbeiteten Inhalte kritisch zu reflektieren und in einen fachlichen Kontext einzuordnen. Darüber hinaus erwerben sie die Fähigkeit, ihre Ergebnisse sowohl mündlich im Rahmen einer Präsentation als auch schriftlich in Form einer Ausarbeitung strukturiert, präzise und überzeugend darzustellen.

Organisatorisches

Die Anmeldung zum Seminar erfolgt zentral im dafür vorgesehen Moodle-Kurs. Nach der Zuteilung werden die Teilnehmer per E-Mail kontaktiert. Bitte kontaktieren Sie uns bei Fragen oder Problemen zur Veranstaltung oder zum Zuteilungsprozess.

Aktuelle Themen

Im aktuellen Semester wird die Veranstaltung nicht angeboten.

Vergangene Veranstaltungen

Prof. Dr. Matthias Tichy, Florian Sihler

Statische Code Analyse erlaubt es uns, Informationen über alle möglichen Ausführungen eines Programmes zu erhalten, ohne den Code tatsächlich auszuführen.

Diese Informationen können wir dann verwenden, um den Code beispielsweise auf Sicherheitslücken zu überprüfen, Optimierungspotential zu finden, oder Refactoring-Operationen anzubieten. Gerade auch wenn sich das Programm in einem nicht-lauffähigen Zustand befindet oder von einem Compiler verarbeitet wird, sind statische Analysetechniken elementar!

In diesem Seminar möchten wir uns mit dem aktuellen Stand der Wissenschaft zu diesen Techniken intensiver beschäftigen. 

  • Wie ist es beispielsweise möglich, alle möglichen Werte, die eine Variable zur Laufzeit annehmen kann, zu sammeln?
  • Wie können wir mit dynamischen Informationen und Fehlern umgehen?
  • Was sind die Vor- und Nachteile dieser Techniken?

Prof. Dr. Matthias Tichy, Denis Neumüller

Software spielt in unserem Alltag eine immer größer werdende Rolle. Mit der zunehmenden Größe von Codebasen nimmt auch die Komplexität der Software immer weiter zu. Aus diesem Grund setzen sich ganze Forschungsbereiche mit dem Verständnis und der Analyse von Sourcecode auseinander.
In diesem Proseminar werden sie sich mit einem Themengebiet vertraut machen und dessen Forschungsstand im Rahmen eines Systematic Literature Reviews beschreiben.

Mögliche Themenbereiche sind:

  • Design Pattern Detection
  • Cliche Recognition
  • Code Clone Detection
  • (Source) Code Plagiarism Detection
  • Normalization techniques for source code
  • Subgraphmatching

Für eine ausführliche Beschreibung beachten Sie bitte das Video im zentralen Moodle-Kurs, über den auch die Verteilung der Proseminare stattfindet.

Prof. Dr. Thomas Thüm, M.Sc. Tobias Heß

Binary Decision Diagrams (BDDs) stellen aussagenlogische Formeln als gerichtete, azyklische Graphen dar. Viele klassische Probleme der Aussagenlogik, wie z.B. das Entscheiden ob eine Formel eine Lösung besitzt (SAT) oder das Zählen wie viele Lösungen eine Formel besitzt (#SAT), sind auf BDDs effizient lösbar. Konsequenterweise ist daher die Erzeugung eines BDDs für eine aussagenlogische Formel ein schwieriges Problem. In diesem Proseminar werden BDDs aus den folgenden Perspektiven betrachtet:

  • Formale Eigenschaften
  • Optimierung
  • Implementierung
  • Anwendungen

Je nach Interesse und Neigung finden sich sowohl für theoretisch als auch für praktisch interessierte Studierende diverse Themen.

Prof. Dr. Matthias Tichy, Stefan Götz

DevOps: A Closer Look

Goals of the Proseminar

  • Learn to write scientific papers 
  • Learn about devOps in theory and practice