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

Seminar: Automated Software Engineering

 


 

Wann und Wo

Seminar: Donnerstag, 13-15 Uhr, RUD 25, 4.113

Wer

Dozent: Dipl.Inf. Simon Heiden / Dr. Thomas Vogel

Beschreibung und Aufbau der Lehrveranstaltung

Im Software Engineering ist die Automatisierung der Prozesse einer der wichtigsten Aspekte um konsistent sowohl höhere Produktivität als auch höhere Qualitätsstandards zu erreichen. Die grundlegende Idee ist, dass ein Prozess automatisiert werden sollte, wenn man ihn automatisieren kann! Jede menschliche Einmischung stellt eine potentielle und schwer einschätzbare Quelle von Fehlern dar.

Prozesse beinhalten beispielsweise das Design, die Synthese und die Wartung von Software Systemen dar, sowie Data Mining und Exploration, und auch Software Qualitätssicherung.

In diesem Seminar lernen die Studenten verschiedene fortgeschrittene Techniken des Automated Software Engineerings kennen, sowie deren Anwendungen im realen Leben.

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. Die physische Anwesenheit ist daher nur beim ersten Treffen und bei den Vorträgen am Ende des Semesters nötig, sowie bei Treffen mit dem Betreuer im Verlauf des Semesters.

 

Ablaufplanung

Erstes Treffen 17.10.2019
Struktur und Literaturliste 17.11.2019
Voreinreichung der Ausarbeitung 15.12.2019
Finale Einreichung der Ausarbeitung 26.01.2020
Einreichung des Peer-Reviews 09.02.2020
Einreichung der überarbeiteten Ausarbeitung 16.02.2020

 

Präsentationen

L. Chen - Automated Test Case Generation

U. Ganbold - Automated Crash Reproduction

A. Hoffmann - Testing and Diversity

30.01.2020

J. Pannier - Testing of Neural Networks

L. Hangen - Stateful Fuzzing

S. Turban - Anti-Fuzzing

06.02.2020

M. Hochmuth - Dynamic Program Slicing for Fault Localization

P. Harnisch - Deep-learning-based Automated Code Summarization

X. Lika - Machine Learning for Self-Adaptive Software

13.02.2020

 

Themenliste

Eine 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 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
1 Property Specification Patterns Thomas Vogel  
2 Automated Test Case Generation Thomas Vogel L. Chen
3 Automated Test Data Generation Thomas Vogel M. Bismer
4 Automated Crash Reproduction Thomas Vogel U. Ganbold
5 Machine Learning for Self-Adaptive Software Thomas Vogel X. Lika
6 Search-Based Techniques for Self-Adaptive Software Thomas Vogel J. Kipke
7 Testing and Diversity Thomas Vogel A. Hoffmann
8 Testing of Mobile Apps Thomas Vogel  
9 Testing of Neural Networks Yannic Noller J. Pannier
10 Stateful Fuzzing Yannic Noller L. Hangen
11 Anti-Fuzzing Yannic Noller S. Turban
12 Differential Program Analysis Yannic Noller  
13 Contextual Fault Localization with Bug Signatures Simon Heiden  
14 Dynamic Program Slicing for Fault Localization Simon Heiden M. Hochmuth
15 Automated Test Repair Minxing Tang E. Hasanov
16 Deep-learning-based Automated Code Summarization Minxing Tang P. Harnisch

Seminar-Hinweise

Einreichung der Paper
  • Einreichung aller Arbeiten auf der für das Seminar angelegten Seite auf EasyChair:
    Submission-Seite.
  • 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 auf 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 auf 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 auf 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.