Proseminar: Inkrementelle Ansätze für Programmanalysen
LSF: 040604
Moodle: TBA (Registrierung passiert automatisch)
Das Proseminar wird in deutscher Sprache gehalten.
Inhalt
Die Programmanalyse ist ein wissenschaftlicher Bereich, in dem Programme untersucht werden. Ihr Ziel ist es, bestimmte Eigenschaften des untersuchten Programms nachzuweisen. So lässt sich beispielsweise nachweisen, dass Daten ihr Ziel im Programm erfolgreich erreichen oder dass sensible Daten nicht an Stellen im Programm fließen, an denen sie an die Öffentlichkeit gelangen können.
Da Softwaresysteme zunehmend größer werden, und insbesondere auch Bibliotheken von Drittanbietern beinhalten, wächst die Ressourcennutzung von Analyseprogrammen stetig. Inkrementelle Ansätze können dem entgegenwirken: Dabei werden bestimmte (Teil-) Ergebnisse einer Analyse vorberechnet oder von vorherigen Durchläufen wiederverwendet. Das spart Rechenzeit und kann je nach Szenario auch die Effektivität von Analysen verbessern. Die Gültigkeit von Ergebnissen muss natürlich auch in inkrementellen Szenarien erhalten bleiben, was die konkreten Implementationen aufwändiger (und auch spannender) machen kann.
In diesem Seminar beschäftigen wir uns mit verschiedenen Ansätzen der Programmanalyse und wollen verstehen, wie diese von inkrementelle Techniken profitieren bzw. wo die Grenzen solcher Analysen liegen.
Form
Das Proseminar wird in Form eines "Diskussionsseminars" abgehalten. Dabei treffen sich alle Seminarteilnehmende zweiwöchentlich zu einer Sitzung, bei der nach einer kurzen Einleitung ein bestimmter Themenbereich frei diskutiert wird. Zu jeder Sitzung sind entsprechende Paper durchzuarbeiten, die vorher bekanntgemacht werden. Jeder Seminarteilnehmer bereitet im Laufe des Semesters eine Kurzpräsentation (~10 min) zu einem der Paper vor, und moderiert anschließend die Diskussion zum Themenbereich. Die Abschlussnote für das Proseminar bewertet die Qualität der Diskussionsbeiträge, die Kurzpräsentation sowie eine kurze schriftliche Ausarbeitung, die am Ende des Seminars anzufertigen ist.