Humboldt-Universität zu Berlin - Mathematisch-Naturwissenschaftliche Fakultät - Software Engineering

Debugging und automatisierte Fehlerbereinigung

 


 

Wann und Wo

Seminar: Dienstag, 9-11 Uhr, RUD 25, 4.112

Wer

Dozent: Dipl.Inf. Simon Heiden / Prof. Lars Grunske

Beschreibung und Aufbau der Lehrveranstaltung

Fehlererkennung und -beseitigung ist im Allgemeinen ein sehr zeitaufwändiges und kostspieliges Unterfangen. Im Allgmeneinen gilt: Je komplexer die Softwaresysteme sind, desto größer ist der materielle und personelle Aufwand für das Auffinden und die Korrektur von Fehlern. Viele Wissenschaftler beschäftigen sich daher mit der Suche nach Techniken und Methoden, um Entwickler bei Fehlererkennung, -lokalisierung und -korrektur zu unterstüzen.

Ziel dieses Seminars ist es, den Stand der Wissenschaft und Technik zum Debugging und zur Fehlerbereinigung systematisch zu untersuchen. Dabei werden besonders automatisierte Techniken zum Auffinden, Diagnostizieren und Eliminieren von Fehlern vorgestellt und im Verlauf des Seminars von den Teilnehmern untersucht. Beispiele für diese Techniken sind die Diagnose von Fehlerursachen mit Hilfe von Unit-Tests (u.a. SBFL Techniken) und das automatisierte Reparieren mit genetischen Algorithmen.

Die teilnehmenden Studenten werden im Verlauf des Seminars eine wissenschaftliche Arbeit zu einem ausgewählten Thema verfassen und diese dann in einem etwa 20-Minütigen Vortrag vorstellen. Neben persönlichen Treffen mit dem jeweiligen Betreuer ist ein Treffen in der Gruppe daher nur beim ersten Termin und bei den Vorträgen am Ende des Semesters nötig.

 

Ablaufplanung

Erstes Treffen 09.04.2019
Struktur und Literaturliste 28.04.2019
Voreinreichung der Ausarbeitung 26.05.2019
Finale Einreichung der Ausarbeitung 23.06.2019
Einreichung des Peer-Reviews 07.07.2019
Einreichung der überarbeiteten Ausarbeitung 14.07.2019

Präsentationen (Ende des Semesters)

Präsentations-Themen Termin

 

 

 

 

 

 

 

 

 

 

 

Themenliste (ohne Gewähr)

Die aktuelle, vollständige Liste der Themen wird beim ersten Treffen präsentiert. Jeder Teilnehmer muss zur Themenverteilung anwesend sein.

Bitte schauen Sie sich vor der Anmeldung die Liste der (vorläufigen) Themen an, um sicherzugehen, dass das Seminar für Sie interessant ist!

Gerne können Sie sich vorab mit den Betreuern bzgl. der Themen in Verbindung setzen oder eigene Themen vorschlagen, falls diese in das Seminar passen.

Hinweis: Die in den Themenbeschreibungen angegebene Literatur dient jeweils nur als Startpunkt für eine notwendige, eigene Literaturrecherche.

Nr. Thema Betreuer Bearbeiter
  General Debugging    
1 Interactive Automated Debugging Simon Heiden P. Jochmann
2 Code Transplantation Simon Heiden P. Voß
3 Human Studies in Debugging Simon Heiden A. Bergdolt
4 Debugging with AI Simon Heiden F. Kleinschnitz
  Fault Recognition    
5 Cross-Project Defect Prediction Minxing Tang L. Jandieri
6 Differential Program Analysis Yannic Noller M. Reuter
7 Performance Bug Detection Minxing Tang  
8 Symbolic Side-Channel Analysis Yannic Noller P. Witkowski
9 Testing of Multi-Threaded Programs Minxing Tang J.-T. Koch
10 Analysis of Neural Networks with Fuzzing Yannic Noller M. Eberlein
  Fault Localization    
11 Contextual Fault Localization with Bug Signatures Simon Heiden A. Toth
12 Dynamic Program Slicing for Fault Localization Simon Heiden T. Kiecker
13 Information Retrieval Fault Localization Simon Heiden M. Zierle
  Automated Repair    
14 Effective Search-Based Automated Program Repair Simon Heiden A. Oertel
15 Repair of Deployed Software Simon Heiden S. M. Friedo
16 Automated Program Synthesis Minxing Tang E. Ens

 

Seminar-Hinweise

Material, Ankündigungen, ...
  • ... gibt es über den Moodle-Kurs (Link).
Einreichung der Paper
  • Einreichung aller Arbeiten auf der für das Seminar angelegten Seite auf EasyChair:
    Submission-Seite (Link).
  • Erste Einreichung ist die Struktur und Literaturliste. Bei allen weiteren Abgaben werden die vorherigen Abgaben überschrieben, bzw. aktualisiert (Update).
Format der Ausarbeitung
  • Ausarbeitungen müssen in Englisch verfasst sein und sollten eine Länge von 15 Seiten nicht überschreiten. Es ist das LaTeX-Template für das Seminar zu nutzen. (Wird über Moodle zur Verfügung gestellt.)
Review-Prozess (Nach finaler Einreichung)
  • Jeder Teilnehmer verfasst ein Gutachten zu zwei weiteren Ausarbeitungen anderer Seminar-Teilnehmer.
  • Das Gutachten muss den Seminar-Begutachtungs-Hinweisen (werden über Moodle zur Verfügung gestellt) folgen.
Überarbeitete Ausarbeitung
  • Die Teilnehmer müssen ihre Ausarbeitung basierend auf den Hinweisen der Betreuer sowie der Gutachten überarbeiten.
  • Das Antwortschreiben auf die Gutachten muss den entsprechenden Hinweisen (werden über Moodle zur Verfügung gestellt) folgen und zusammen mit der überarbeiteten Version der Ausarbeitung eingereicht werden.
Präsentation
  • Die Präsentationsdauer ist 20-25 Minuten gefolgt von 5-10 Minuten für Fragen und Diskussion.
  • Die Teilnehmer werden dazu ermutigt, ihre Präsentation auf Englisch zu halten.