Überblick
Unten finden Sie einige konkrete Themenvorschläge für Abschluss- und Projektarbeiten bei der Arbeitsgruppe für Softwaretechnik und Programmiersprachen. Beachten Sie unseren Betreuungsleitfaden, der Sie über den Ablauf der initialen Kontaktphase sowie der Abschlussarbeit selbst informiert.
Die Themen aus unserer Gruppe versuchen meist, Ihre Abschlussarbeit in unsere Forschung zu integrieren. Hauptfokus unserer Forschung ist das Tool ProB, ein Model Checker und Constraint Solver für die B-Methode. ProB ist in Prolog geschrieben, aber Erweiterungen dafür sind auch bspw. in C, C++, Rust oder Python möglich. Es existiert zudem eine Java-API und eine Einbettung in Clojure.
Die Abschlussarbeiten müssen nicht direkt mit Model-Checking-Algorithmen oder Modellierungsarbeiten in B zu tun haben. Beispielsweise sind auch Arbeiten möglich, die andere Werkzeuge integrieren, Programmzustände visualisieren, Programmanalyse- und Compilertechniken implementieren oder Erkenntnisse mittels Machine Learning gewinnen.
Wir sind auch an Werkzeugen interessiert, die unsere Entwicklung und Lehre unterstützen. Beispielsweise gab es bereits Arbeiten an Typsystemen, Lintern, Parsern, Codegeneratoren sowie Integrationen von Kerneln für Jupyter Notebooks oder Visualisierungen von Algorithmen aus der theoretischen Informatik.
Sie dürfen auch gerne selbst kreative Vorschläge für Abschlussarbeitsthemen einbringen; je näher diese an unserer Arbeit sind, desto wahrscheinlicher können wir Sie dabei sinnvoll betreuen.
Einige der bei uns abgeschlossenen Abschlussarbeiten haben direkt zu wissenschaftlichen Publikationen geführt. Eine Liste der hervorgegangenen Publikationen finden Sie hier.
Themen
Filter: Bachelorarbeit · Projektarbeit · Masterarbeit
Wir bieten Themen in den folgenden Bereichen an. Gerne können Sie auch eigene Themenvorschläge mit uns absprechen.
- B / Event-B / Sicherheitskritische Systeme
- Logische Programmierung
- Künstliche Intelligenz und Machine Learning
- Compilerbau
- Misc.
B / Event-B / Sicherheitskritische Systeme
- ProB Unterstützung für die CSSP
- TLA2B Übersetzung von TLA+ nach B erweitern
- TLC4B Übersetzung von B nach TLA+ erweitern
- Analyse des Designs von Git / Mercurial mit Hilfe von B
- Simplifier für B-Prädikate
- Eine Übersetzung von Smart Contracts nach B
- Model Checking von generiertem Code / Automatisches Refinement
- Migration von B2Program von ANTLR nach SableCC
- Codegenerierung von B nach Clojure
- Generierung von Proof Obligations (POs) für B und Event-B innerhalb von ProB
- Tool Support for Event-B Abstractions
- FRETish für ProB2-UI
Logische Programmierung
- plspec: Test-Case Generierung
- Modellierung des Parallel Climbers Puzzles
- Refactoring des partiellen Auswerters Ecce für Sicstus 4
- DPLL(T)-basierter Solver für B bzw. B Logik für DPLL-basierten Solver
- Prolog Parser und Interpreter für Gödel
- Open-Spiel Anbindung an Prolog
- Animation, Model Checking, und Simulation von Robotersystemen in ProB
Künstliche Intelligenz und Machine Learning
- Expertensystem zur Validierung mit ProB
- Formal Methods meet Data Analysis
- Validierung von Spiele KI durch Simulation