Themen für Bachelorarbeiten im WS 2024/2025
Themen für Bachelorarbeiten im WS 2024/2025
Im Folgenden finden Sie einige Themenvorschläge für Bachelorarbeiten im WS 2024/2025. Die Themen werden bis zur Vorbesprechung laufend ergänzt. Sie können bei Interesse schon vorab mit dem jeweiligen Betreuer Kontakt aufnehmen.
Java Code mit großen Sprachmodellen (LLMs) auf Basis von Ergebnissen statischer Analysen verbessern
Statische Code-Analysewerkzeuge wie SonarQube haben sich zum unverzichtbaren Bestandteil der Qualitätssicherung von Software entwickelt. Diese Werkzeuge überprüfen den Quellcode auf die Verletzung von guten Programmierpraktiken. Es liegt dann typischerweise am Entwickler, die von diesen Werkzeugen entdeckten Probleme manuell zu beseitigen.
In dieser Arbeit soll untersucht werden, wie gut LLMs geeignet sind, konkrete Vorschläge für die Sanierung der von statischen Analysatoren entdeckten Problemstellen zu machen. Im Rahmen des Experimentes soll mit unterschiedlichen Prompting-Techniken versucht werden, möglichst gute Empfehlungen vom LLM zu bekommen. Die vom LLM bereitgestellten Lösungsvorschläge sind hinsichtlich üblicher Qualitätseigenschaften (z.B. Wartbarkeit, Effizienz) zu beurteilen. Für das Design des Experiments sollen verwandte Arbeiten aus der Literatur herangezogen werden. Das zu verwendende LLM (z.B. OpenAI, Copilot) wird gemeinsam festgelegt.
Betreuung: Reinhold Plösch
Status: RESERVIERT
Unit Tests mit großen Sprachmodellen (LLMs) verbessern
Unit-Tests sind ein wichtiges Element, um die Korrektheit der Implementierung von (Java) Klassen sicherzustellen. Oft ist es jedoch so, dass die entwickelten (oder generierten) Unit Tests entweder qualitativ nicht gut genug sind (z.B. zu große Testmethoden, schwache Assertions, kein Mocking) oder die Testabdeckung ungenügend ist.
In dieser Arbeit soll durch ein Experiment untersucht werden, wie gut LLMs geeignet sind, konkrete Vorschläge für die Verbesserung der bestehenden Unit Tests zu machen. Bei der Verbesserung der Unit Tests können auch Ergebnisse der statischen Analyse einbezogen werden – die Verbesserungen beziehen sich dabei sowohl auf die Wartbarkeit der Unit Tests, aber auch auf die Treffsicherheit der Tests und die Abdeckung der zu testenden Klasse. Zur Vorbereitung des Experiments ist durch eine Literaturanalyse zu identifizieren, welche Vorgehensweisen, Techniken, etc. sich bei der Verbesserung von Unit Tests bewährt haben. Ansätze, die versuchen, Unit-Tests vollständig auf Basis der zu testenden Klasse zu generieren, sind nur am Rande zu behandeln. Die im Rahmen des Expiments vom LLM bereitgestellten Lösungsvorschläge sind hinsichtlich ihrer Qualität qualitativ zu beurteilen. Quantitative Beurteilungen (z.b. Ausmaß der Verbesserung der Coverage) sind ebenfalls vorzunehmen und zu analysieren. Das zu verwendende LLM (z.B. OpenAI, Copilot) für die Generierung der Verbesserungsvorschläge wird gemeinsam auf Basis der Ergebnisse der Literaturanalyse festgelegt.
Betreuung: Reinhold Plösch
Status: RESERVIERT
Bessere automatische Dokumentation von Java Code mit lokalen angepassten Sprachmodellen?
Die API-Dokumentation von Java-Klassen und Paketen ist eine wichtige, aber zeitaufwändige Arbeit. In der wissenschaftlichen Literatur gibt es Hinweise darauf, dass diese Tätigkeit durch große Sprachmodelle (LLMs) sehr gut unterstützt werden kann. Organisationen wollen aber z.T. nicht, dass Wissen über den eigenen Source Code in irgendeiner Weise in öffentliche LLMs einfließt. Es könnte daher vorteilhaft sein, auf lokal betriebene Modelle (z.B. Ollama) zu setzen, die auch noch spezifisch auf den Programmierstil bzw. den Dokumentationsstil der Organisation angepasst werden können.
In dieser Arbeit soll durch ein Experiment untersucht werden, inwieweit lokale, kleinere Modelle (z.B. Ollama) für die Dokumentation von Java Klassen verwendet werden können. Dazu soll im ersten Teil der Arbeit durch eine Literaturanalyse eruiert werden, welche Erfahrungen es mit lokalen Modellen für die Dokumentation von (Java) Code gibt. Auf Basis dieser Erfahrungen soll im zweiten Teil der Arbeit ein Experiment durchgeführt werden, das untersucht, ob die Qualität der generierten Dokumentation mit einem kleineren lokalen Modell (u.U. auch angepasst an den Code) zumindest gleich gut ist, wie die Qualität der von großen LLMs genierten Dokumentation. Das zu verwendende LLM (z.B. OpenAI, Copilot) wird gemeinsam festgelegt, das zum Einsatz kommende lokale Modell sollte sich aus der Literaturanalyse ergeben.
Betreuung: Reinhold Plösch
Status: RESERVIERT
Bestehende Dokumentation von Java Code mit großen Sprachmodellen (LLMs) verbessern
Es gibt unterschiedliche Gründe, warum die API-Dokumentation von Java Code oft unbrauchbar ist: (1) Die Dokumentation reflektiert nicht (mehr) die Implementierung, weil zwar die Implementierung weiterentwickelt wurde, nicht aber die Dokumentation (2) Es wurde minimalistisch dokumentiert – die Dokumentation hat daher kaum einen Informationsgehalt (3) Die Dokumentation einzelner Methoden oder der Klasse in ihrer Gesamtheit fehlt überhaupt.
In dieser Arbeit soll durch ein Experiment untersucht werden, wie gut LLMs geeignet sind, Verbesserungsvorschläge für die API-Dokumentation von Klassen zu machen. Im Zuge dieses Experiments soll auch auf Basis der Ergebnisse einer durchzuführenden Literaturanalyse ein ideales Prompting verwendet werden, um möglichst ideale Verbesserungsvorschläge für die API-Dokumentation zu erhalten. Die Verbesserungsvorschläge sind hinsichtlich der Qualitätskriterien für API-Dokumentation (auch durch eine Literaturanalyse zu erheben) jedenfalls qualitativ, u.U. auch quantitativ zu beurteilen. Das zu verwendende LLM (z.B. OpenAI, Copilot) wird gemeinsam festgelegt, idealerweise ergibt sich das geeignetste Modell aus der Literaturanalyse.
Betreuung: Reinhold Plösch
Status: RESERVIERT
Beurteilung der Evolvierbarkeit von Software
Software erweist sich oft viel langlebiger als ursprünglich geplant. Um die langfristige Weiterentwicklung und damit den Betrieb von Software sicherstellen zu können, ist eine laufende Wartung der Software notwendig. Für die Beurteilung der Evolvierbarkeit von Software können unterschiedliche Metriken zur Komplexität, Kohäsion und Kopplung bzw. komplexere Metrik-Systeme wie der MMI (Modularity Maturity Index) verwendet werden.
In dieser Arbeit soll im ersten Teil eine Literaturanalyse durchgeführt werden, die das Ziel hat, jene Metriken bzw. Metrik-Systeme zu identifizieren, die für die Beurteilung der Evolvierbarkeit von Software vorgeschlagen werden. Auf Basis der Erkenntnisse der Literaturanalyse soll eine Sammlung von Metriken definiert werden, die bei der Beurteilung der Evolvierbarkeit von (Java) Software zum Einsatz kommen kann. Dabei sollen vor allem Metriken ausgewählt werden, die weitestgehend automatisch (z.B. aus dem Quellcode) erhoben werden können. Im zweiten Teil der Arbeit soll im Rahmen eines Experimentes die identifizierte Metriksammlung auf ein (Java) Projekt angewendet werden und die Evolvierbarkeit dieser Software beurteilt werden. Idealerweise wird für dieses Experiment ein (Java) Projekt ausgewählt, das auch schon andere Forscher hinsichtlich der Evolvierbarkeit beurteilt haben. Unterschiede in der Beurteilung, die sich beispielsweise durch unterschiedliche Metriken ergeben, sollen so aufgezeigt und dokumentiert werden.
Betreuung: Reinhold Plösch
Status: RESERVIERT
MDE YellowPages – Visualisierungsplattform für Forschungsdaten
Im akademischen Kontext ist es immer wieder wichtig über den eigenen Tellerrand hinauszublicken und zu sehen, von wem, wo und vor allem woran derzeit geforscht wird. Um die Suche nach potenziellen Kollaborationspartnern zu erleichtern, ist das Ziel dieser Arbeit ist es eine Plattform zu schaffen, die es den Usern erlaubt Daten über Forscher, Forschungsprojekte und Publikationen im Bereich der akademischen/industriellen Forschung an Model-Driven Engineering zu präsentieren.
Hierzu sollen Daten aus diversen Quellen (Online-Datenbanken wie ORCiD, DBLP, Semantic Scholar) zusammengefügt, bereinigt, vervollständigt und danach visualisiert werden. Wichtig ist, zu beachten, dass das System aktualisierbar bleibt und erlaubt neue Daten hinzuzufügen. Einen prototypischen Einstieg in dieses Thema bildet https://map.mde-network.org/. Diese GUI zeigt einen kleinen Teil der möglichen Visualisierungen ab. Dieser primitive Frontend-Prototyp kann optional als Ausgangspunkt gewählt werden, der danach ausgeweitet wird um z.B. Daten zusätzlich auch tabellarisch und durch Suche auffindbar zu machen. Weiters sollten Datenfilter die Durchforstung bestimmter Themengebiete (zB Model-Driven Engineering, Artificial Intelligence, Security) ermöglichen.
- Dazu sollen zunächst anhand einer Literaturrecherche Visualisierungsmöglichkeiten erhoben und verglichen werden.
- Anschließend soll ein datengetriebener Prozess definiert werden, der das kontinuierliche Einpflegen, Zusammenfügen und Korrigieren der Daten erlaubt.
- Zum Abschluss soll Prototyp dieser Plattform gebaut werden, der es erlaubt den gesamten Datenfluss zu evaluieren und zu überprüfen ob der Workflow funktional ist.
Betreuung: Stefan Klikovits
Status: RESERVIERT
DevOps Pipeline for a Quantum Software Library
Achtung: Dieses Projekt erfordert Besprechungen in Englisch, Vorwissen zum Thema Quantum Software Engineering ist nicht notwendig
This project involves transforming a codebase for analysing quantum computer data into a polished software package. Important: No prior quantum background is required, but a general interest in the field is preferred.
Quantum computing has achieved remarkable advancements over the past decade, offering the potential to revolutionize computational methods. With the increasing size of quantum devices, efficiently extracting, storing, and processing the information they generate is a growing challenge. The classical shadow formalism, developed by Prof. Dr. Richard Kueng, Co-Head of the Institute for Integrated Circuits, is a key tool widely used in the field to address this challenge.
The goal of this project is to refactor the existing code, making it more maintainable and extendable. Key tasks include implementing automated testing, setting up main and development branches, creating example scripts, and packaging the code for easy installation via pip. Additional challenges include code profiling and optimization.
This project is in collaboration with Prof. Richard Kueng’s group and will be directly co-supervised by Kristina Kirova, a PhD student in the group.
Betreuung: Stefan Klikovits
Status: Verfügbar
Sprach-basierte Steuerung von Digitalen Zwillingen
Moderne KI-Systeme haben mittlerweile Einzug in unseren Beruf, Haushalt und Alltag genommen. Unter anderem wurde dieser Fortschritt in zwei spezifischen Bereichen markant. Der erste ist in der Entwicklung von Sprachassistenten wie Alexa, Siri und Google Assistant, die einfache Aufgaben übernehmen, Informationen beschaffen und teilweise auch komplexe Befehlsabfolgen durchführen können. Ein weiterer vielversprechender Bereich ist der, der digitalen Zwillinge (engl. “digital twins”). Durch gezielte Datenverarbeitung und Integration von KI-Technologien lassen sich auch so, komplexe Prozesse gestalten.
Ziel dieser Arbeit ist die Analyse und Implementierung einer Modell-basierten Sprachsteuerung mithilfe digitaler Zwillinge.
- Dazu sollen zunächst anhand einer Literaturrecherche die bisherigen Entwicklungen im Hinblick auf den Einsatz von Sprachsteuerung im Bereich Digitaler Zwillinge und Modelle erhoben werden.
- Anschließend soll ein Modell der Funktionalitäten (engl. “capabilities”) gebaut werden, dass die Fähigkeiten der Devices bzw. deren digitaler Zwillinge erfassen kann.
- Zum Abschluss sollen dieses Modell als Grundlage zur Konstruktion von eines Sprachassistenten dienen.
Als Case Study Systeme stehen am Institut diverse Smart Devices, inkl. autonomer Fahrzeuge (PiCars), Roboterarme und ein 3D Drucker zur Verfügung.
Betreuung: Stefan Klikovits
Status: Verfügbar
Digitaler Zwilling eines 3D Druckers
Ziel dieser Arbeit ist die Entwicklung eines digitalen Zwillings eines 3D Druckers (steht am Institut bereit). Hierfür soll ein Raspberry Pi als Steuerungseinheit dienen, die es ermöglicht die Prozesse des 3D Druckers zu steuern, Echtzeit und historische Daten veranschaulichbar und analysierbar zu machen, sowie diverse Vorhersagen und Simulationen durchzuführen.
- Dazu sollen zunächst anhand einer Literaturrecherche die bisherigen Entwicklungen im Bereich Digitaler Zwillinge im 3D Druck erhoben werden.
- Anschließend soll ein digitaler Zwilling des 3D Druckers und seiner Funktionalität gebaut werden, der die Fähigkeiten digitaler Zwillinge erfassen kann.
- Zum Abschluss soll die Usability des digitalen Zwillings evaluiert werden.
Betreuung: Stefan Klikovits
Status: RESERVIERT
Entwicklung einer Asset Administration Shell für Autonome Fahrzeuge
Die fortschreitenden Entwicklungen der Industrie 4.0 führten zur Konzeption des Asset Administration Shell (AAS) Standards. AAS erlaubt es den Zustand, die Fähigkeiten und weiterführende Details diverser Assets (Komponenten) zu beschreiben.
Ziel dieser Arbeit ist es, eine AAS für ein ferngesteuertes, teilweise autonomes Fahrzeug zu konzipieren und zu implementieren. Als “echtes” Fahrzeug wird hierfür ein Raspberry Pi Car gewählt, dass am Institut vorhanden ist. Darauf basierend soll die AAS erlauben den Zustand des Fahrzeugs zu lesen und auch diverse “Tasks” zu senden, wie zB Fahrten von A nach B, selbst-adaptives Navigieren zu diversen POI, etc.
- Dazu sollen zunächst anhand einer Literaturrecherche die bisherigen Erkenntnisse im Hinblick auf den Einsatz von AAS im Bereich (autonomer) Fahrzeuge erhoben werden.
- Anschließend sollen ausgewählte Fragestellungen anhand einer Case-Study untersucht werden und mit den Ergebnissen der Literaturrecherche verglichen werden.
- Fragestellungen sind zB wie die AAS aufgebaut werden kann, wie mehrere Fahrzeuge zu Flotten zusammengefügt und orchestriert werden können und welche Daten für solche Fahrzeuge von Interesse sind.
Betreuung: Stefan Klikovits
Status: RESERVIERT
Entwicklung einer Masterarbeitsbörse für Studierende, Unternehmen und Institute der Wirtschaftsinformatik
Die Entwicklung einer digitalen Plattform zur Vermittlung von Masterarbeitsthemen und Vernetzung bietet sowohl für Studierende als auch für Unternehmen und Betreuer:innen an den Instituten eine effiziente Möglichkeit, passende Forschungsthemen und -betreuer:innen zu finden und den Prozess der Themenfindung und Abgabe zu optimieren.
Literaturanalyse
- Analyse bestehender Systeme und Plattformen zur Vermittlung von Abschlussarbeitsthemen, insbesondere im Bereich der Masterarbeiten.
- Untersuchung von Best Practices in der Gestaltung und Nutzung solcher Plattformen, sowie relevanter Kriterien wie Benutzerfreundlichkeit und Datenschutz.
Praktischer Teil
- Basierend auf den Recherchen erfolgt die Entwicklung einer webbasierten Masterarbeitsbörse, die es Studierenden ermöglicht, Themenvorschläge nach verschiedenen Kriterien zu durchsuchen und zu filtern. Auch Unternehmen sollen die Möglichkeiten erhalten, Themen vorzuschlagen.
- Die Plattform soll es Betreuer:innen ermöglichen die Themen und Masterarbeiten entsprechend zu verwalten. Zudem sollen Kommunikationsmöglichkeiten implementiert werden, die den Austausch zwischen Studierenden, Betreuer:innen und Unternehmen ermöglichen.
- Studierende sollen auch zusätzliche relevante Informationen (z.B. Anmeldungen, Deadlines, etc.) über die Plattform erhalten.
- Integration von zusätzlichen Funktionen wie automatisierte Benachrichtigungen über neue Themen.
- Auswertungssystem für diverse Statistiken
Betreuung: Iris Groher
Status: Verfügbar
Predictive Analytics zur frühzeitigen Identifizierung von gefährdeten Studierenden in Programmierkursen
Der Einsatz von Predictive Analytics zur frühzeitigen Identifizierung von gefährdeten Studierenden in Programmierkursen ermöglicht es, auf Basis datengetriebener Modelle rechtzeitig gezielte Unterstützungsmaßnahmen einzuleiten und so den Lernerfolg zu fördern.
Literaturanalyse
- Analyse bestehender Forschung zur Predictive Analytics in der Bildung, mit einem Schwerpunkt auf Programmierkurse.
- Analyse von Modellen und Algorithmen, die zur frühzeitigen Identifizierung von gefährdeten Studierenden verwendet werden.
Praktischer Teil
- Identifikation von Datenquellen aus den Modul Einführung in die Softwareentwicklung mit Python (Moodle, GitHub Classroom)
- Entwicklung eines Modells um Studierende zu identifizieren, die wahrscheinlich Schwierigkeiten haben werden.
- Entwicklung möglicher Interventionsstrategien für identifizierte Studierende
- Testen des Modells mit Daten aus vergangenen Kursen
Betreuung: Iris Groher
Status: RESERVIERT
Entwicklung eines Dashboards zur Messung der Lernergebnisse in einem Programmierkurs
Die stetige kompetenzbasierte Messung der Lernergebnisse in Programmierkursen ermöglicht eine datenbasierte Visualisierung des Fortschritts der Studierenden und unterstützt sowohl Lehrende als auch Lernende bei der kontinuierlichen Evaluation des Lernerfolgs.
Literaturanalyse
- Analyse bestehender Forschung zur Messung des Lernerfolgs (Assurance of Learning) in der Bildung, mit einem Schwerpunkt auf Programmierkurse.
- Untersuchung von bestehenden Tools und Ansätzen zur Visualisierung und Messung von Lernergebnissen in Programmierkursen.
Praktischer Teil
- Identifikation relevanter Metriken und Datenquellen aus dem Modul Einführung in die Softwareentwicklung mit Python (Moodle, GitHub Classroom).
- Entwicklung eines Dashboards zur Messung und Visualisierung der Lernergebnisse von Studierenden.
- Testen und Evaluieren des Dashboards mit realen Daten aus vergangenen Programmierkursen.
Betreuung: Iris Groher
Status: RESERVIERT
Entwicklung eines Jira Plugins für die Generierung eines Sustainability KPI Reports
Die Integration von Nachhaltigkeitskennzahlen (Sustainability KPIs) in Softwareentwicklungsprozesse gewinnt zunehmend an Bedeutung. Besonders in agilen Prozessen wird es immer wichtiger User Stories bereits vor deren Implementierung auf ihre Auswirkungen auf die Nachhaltigkeit des Softwareproduktes zu analysieren.
Literaturanalyse
- Analyse bestehender Forschung zu Nachhaltigkeitskennzahlen (Sustainability KPIs) in Softwareprojekten
- Untersuchung von Ansätzen zur Implementierung von Plugins in Jira und zur Automatisierung von Reporting-Prozessen in agilen Entwicklungsprozessen
- Analyse bestehender Tools und Methoden zur Erhebung und Auswertung von Sustainability KPIs in Softwareprojekten
Praktischer Teil
- Entwicklung eines Jira Plugins zur Bewertung von User Stories
- Entwicklung einer automatisierten Generierung von Sustainability KPI Reports
- Testen des Plugins mit Daten aus einer bestehenden Studie
Betreuung: Iris Groher
Status: Verfügbar
Techniken und Tools für den Einsatz von AI in der Software Engineering Lehre
Der Einsatz von Künstlicher Intelligenz (AI) in der Software Engineering Lehre bietet für Lernende und Lehrende das Potenzial, sowohl Lern- als auch Lehrprozesse durch innovative Tools und Techniken zu verbessern.
Literaturanalyse
- Analyse bestehender Forschung zum Einsatz von Künstlicher Intelligenz (AI) in der Hochschullehre, insbesondere im Bereich Software Engineering (SE) sowie Techniken wie Wissen zum Thema AI an Studierende vermittelt wird,
- Untersuchung von Techniken und Tools, die zur Unterstützung von Lehr- und Lernprozessen in der SE-Lehre mittels AI eingesetzt werden können, sowohl für Studierende als auch für Lehrende
Praktischer Teil
- Konzeption der Tool-Landkarte: Visuelle und systematische Übersicht über die verschiedenen AI-Techniken und -Tools, die in der SE-Lehre eingesetzt werden können. Diese Übersicht sollte die Tools nach bestimmten Kategorien und Merkmalen sortieren, z. B.: Anwendungsbereich, Technologische Grundlage, Einsatz in der Lehre
- Implementierung der Tool-Landkarte als interaktive Webanwendung oder Visualisierungsplattform, die es Lehrkräften und Forschenden ermöglicht, die verschiedenen AI-Tools und Techniken zu erkunden und deren potenziellen Einsatz im eigenen Unterricht zu bewerten.
Betreuung: Iris Groher
Status: RESERVIERT
Entwicklung eines webbasierten Tools zur Unterstützung eines Assurance-of-Learning-Prozesses
Die Sicherstellung des Lernerfolgs (Assurance of Learning) gewinnt zunehmend an Bedeutung in der Hochschulbildung. Insbesondere in der Qualitätssicherung von Studienprogrammen ist es wichtig, Lernergebnisse systematisch zu messen und zu analysieren, um kontinuierliche Verbesserungen zu ermöglichen.
Literaturanalyse
- Analyse bestehender Forschung zu Assurance of Learning (AoL)-Prozessen in Bildungseinrichtungen
- Untersuchung von Ansätzen zur Entwicklung und Implementierung webbasierter Tools zur Unterstützung von Qualitätssicherungsprozessen im Bildungsbereich
- Analyse bestehender Tools und Methoden zur Erfassung und Auswertung von Lernergebnissen in Studienprogrammen
Praktischer Teil
- Entwicklung eines webbasierten Tools zur Erfassung und Analyse von Lernergebnissen im Rahmen des Assurance-of-Learning-Prozesses
- Implementierung von Funktionen zur automatisierten Auswertung und Visualisierung der Lernergebnisse
- Testen des Tools unter Verwendung vorhandener Lerndaten
Betreuung: Iris Groher
Status: Verfügbar