Wenn Sie eine Abschlussarbeit an der Professur durchführen wollen, können Sie ein Thema aus unserer Liste der ausgeschriebenen Abschlussarbeiten wählen oder selbständig einen Themenvorschlag bei den Mitarbeitern der Professur einreichen. Für ausgewählte Abschlussarbeiten befürworten wir deren Veröffentlichung auf dem Publikationsserver der Universität Leipzig.

Ausgeschriebene Abschlussarbeiten

Im Master-Modul Software Engineering Project werden den Studierenden Projekte zur Bearbeitung in einem Team angeboten. Für eine möglichst faire Zuordnung, welche die erforderliche Teamgröße berücksichtig, werden ein Verfahren und ein Werkzeug benötigt, um diesen Bieter-Prozess durchzuführen.

In der Abschussarbeit sollen die im aktuellen Modul-Durchlauf gesammelten Erfahrungen der verantwortlichen Lehrpersonen ermittelt und modelliert werden. Zur Unterstützung des Verfahrens sollen vorhandene Methoden und Werkzeuge recherchiert und untersucht werden. Sofern sehr gut geeignete Verfahren und Werkzeuge gefunden werden, gilt es diese anzupassen und als Plugin für Moodle verwendbar zu machen. Insbesondere wenn kein geeignetes Werkzeug gefunden wird, ist die Entwicklung des Moodle-Plugins in hohem Maße wünschenswert.

Das Verfahren wie auch das Werkzeug müssen umfangreich evaluiert werden.

Das Thema kann sowohl als Bachelor- wie auch als Masterarbeit bearbeitet werden. Im Falle einer Bachelorarbeit sollte das Verfahren einschließlich seiner prototypischen Realisierung und intensiven Evaluation mithilfe simulierter Daten im Vordergrund stehen. In einer Masterarbeit wäre auch die Implementierung und die empirische Evaluation als Moodle-Plugin zu leisten.

Betreuer: Prof. Dr. Beuche und Prof. Dr. Eisenecker

Zur Erstellung von von Schablonen für Diagramme (im Software Engineering)  werden ein geeignetes Vektorgrafikformat sowie ein Werkzeug benötigt, mit dem die entsprechenden Diagramme als Vektorgrafik erstellt werden können. Primär geht es darum, ein oder mehrere vorhandene, für diesen Zweck geeignete Formate und Werkzeuge zu finden. Wichtige Kriterien sind unter anderem:

  1. Wie gut eignet sich das Vektorgrafikformat zur Darstellung, Speicherung und Weiterverarbeitung von Diagramm im Software Engineering, z.B. UML-Diagramme?
  2. Kann das Vektorformat durch Scripting erzeugt und verändert werden?
  3. Welche Möglichkeiten zur Realisierung variabler Grafikanteile gibt es?
  4. Wie können Constraints zwischen variablen Grafikanteilen abgelegt und verarbeitet werden?
  5. Welche Lizenzen haben Format und Werkzeug?

Ziel der Arbeit ist es, verschiedene Formate und Werkzeuge zur Erstellung zu untersuchen und die Machbarkeit der und die Anwendbarkeit zur Erstellung von Diagrammen im Software Engineering nachzuweisen. 

Betreuer: Nico Willert

Die Erstellung von Aufgaben für Übungen und Prüfungen verursacht einen hohen intellektuellen und manuellen Aufwand. Im diesem Kontext könnte der Einsatz von Generatoren vorteilhaft sein, bei denen mittels Schablonen Fragen erstellt werden, die noch mit weiteren Randbedingungen angereichert werden können.
An der Professur werden bereits Generatoren für Single-Choice und Programmieraufgaben entwickelt.
Im Rahmen einer Bachelorarbeit wurde bereits ein  eingeschränkter Überblick über die Reichweite solcher aber auch anderer Generatoren erarbeitet. Nach wie vor ist jedoch zu klären, ob und in welchem Umfang Generatoren zur Erstellung von Aufgaben bereits entwickelt wurden und eingesetzt werden.
Ziel der Abschlussarbeit ist die Ausarbeitung, Durchführung und Dokumentierung einer systematischen Literaturstudie zum State of the Art der Aufgaben-/Prüfungsgeneratoren.

Betreuer: Nico Willert

Im Rahmen von neu entstandenen Lehrmodulen sollen Programmieraufgaben automatisiert ausgewertet werden. Dabei geht es zum einen um das Feststellen der Korrektheit bestimmter Merkmale und zum anderen um das Bereitstellen eines entsprechenden Feedbacks, wie zum Beispiel Hinweise auf Fehler, Verbesserungsmöglichkeiten oder Korrekturhinweise.
Konkret soll in der Arbeit untersucht werden, wie man C++ Programme für den Einsatz in der Lehre analysieren kann. Hierzu bietet sich unter anderem, die Möglichkeiten der C++-Metaprogrammierung genauer zu betrachten.
Ziel der Arbeit ist es zu ergründen, mit welchen Möglichkeiten innerhalb der C++ Sprache die Überprüfung und die Feedbackerstellung realisiert werden kann.
Es soll zudem Bezug auf das Lehrumfeld, die Anforderungen für einen solchen Einsatz und eventuelle Herausforderungen und Probleme eingegangen werden.
Entsprechende Funktionalitäten sollen in Form einer von Dritten nutzbaren Bibliothek umgesetzt werden, sodass diese Funktionalität bei der Erstellung der Aufgaben und deren Überprüfung wieder verwendet werden kann. Die Machbarkeit und die Einsatzmöglichkeiten sollten zudem mit einer prototypischen Anwendung nachgewiesen werden.
(Der Umfang der Arbeit ist anpassbar, sodass bei einer Bachelorarbeit der Aspekt Feedback erst einmal vernachlässigt werden kann.)

Betreuer: Nico Willert

Der Debugger ist eines der mächtigsten Werkzeuge. In komplexen und umfangreichen Softwaresystemen gibt er jedoch einen eingeschränkten Blick über den aktuellen Stand des Systems, beispielsweise welche Objekte gerade instanziiert sind oder welche Methoden vor oder während dem aktuellen Stacktrace noch aufgerufen wurden. Für die übersichtliche Darstellung dieser Information eignen sich Softwarevisualisierungen des Verhaltens.

 

Ziel der Arbeit ist es daher, die Informationen bis zu einem Brake Point zu sammeln und mittels geeigneter Darstellung als dreidimensionale Softwarevisualisierung darzustellen. Die Arbeit integriert sich in bereits abgeschlossene Arbeiten und legt daher den Fokus auf das gezielte Auslesen und Visualisieren eines Snapshots zu einem Brake Point.

 

Je nachdem, in welchem Rahmen das Thema bearbeitet wird, kann der Umfang der Arbeit angepasst werden.

 

Diese Arbeit baut auf der von der Professur entwickelten Open-Source-Software Getaviz auf. Der von Ihnen erstellte Quellcode soll im Anschluss an ihre Arbeit ebenfalls als Open Source veröffentlicht werden und in Getaviz einfließen. Je nachdem, in welchem Rahmen das Thema bearbeitet wird, kann der Umfang der Arbeit angepasst werden.

 

Betreuer: Pascal Kovacs

Getaviz ist ein Framework zum Erstellen von Softwarevisualisierungen. Mit diesem Framework können aus Softwareartefakten (Quelltext, Dokumentation, Testdurchlaufprotokolle, Stack Traces, Funktions- oder Objektaufrufgraphen, Repositories u.a.) 2D- und 3D-Visualisierungen automatisch erzeugt werden.

 

Ziel dieser Arbeit ist es, eine Visualisierung zu konzipieren und in Getaviz zu integrieren. Dabei kann auf Informationen, die die Struktur, das Verhalten und/oder die Historie eines Softwaresystems beschreiben, aufgebaut werden.

 

Beispielsweise suchen wir nach einer geeigneten Visualisierung von Methodenbestandteilen. Bisher werden sowohl in der Stadtmetapher als auch in der Recursive Disk-Metapher Pakete, Klassen, Methoden und Attribute visualisiert. Bei diesem Thema soll untersucht werden, wie sich Methodenbestandteile (z.B. Parameter, Rückgabetyp, Sichtbarkeitsmodifizierer, Variablen) darstellen lassen. Sie können aber auch eine Visualisierung für andere Softwareartefakte umsetzen.

 

Diese Arbeit baut auf Open-Source-Software auf. Der von Ihnen erstellte Quellcode soll im Anschluss an ihre Arbeit ebenfalls als Open Source veröffentlicht werden. Je nachdem, in welchem Rahmen das Thema bearbeitet wird, kann der Umfang der Arbeit angepasst werden.

 

Betreuer: Pascal Kovacs

RIF/ReqIF ist ein XML-basiertes Format zum Austausch von Anforderungsdokumenten. Mit RMF gibt es eine Implementierung dieses Standards als Eclipse-Framework. Ziel dieser Abschlussarbeit ist es, RIF/ReqIF zu analysieren und einen Vorschlag zu erarbeiten, wie die Elemente von RIF/ReqIf und ihre Beziehungen in Getaviz bzw. das Software-Visualiserungsdashboard, um die RIF/ReqIF-Entitäten abzubilden.

Anhand eines beispielhaften auf RIF/ReqIF beruhenden Anforderungsdokuments ist der Vorschlag konkret zu beschreiben. Ideal wäre die Evaluation anhand einer prototypischen Implementierung.

 

Der von Ihnen erstellte Quellcode soll im Anschluss an ihre Arbeit ebenfalls als Open Source veröffentlicht werden und in Getaviz bzw. das Dashboard einfließen. Je nachdem, in welchem Rahmen das Thema bearbeitet wird, kann der Umfang der Arbeit angepasst werden.

 

Betreuer: Ulrich Eisenecker

Veröffentlichte Abschlussarbeiten

Bachelor

  • Jonathan Thiemann (2022): Generator für Single-Choice-Aufgaben
    ZUR ARBEIT
  • Janik Eriksson (2021): Visualisierung von Featurelokalisierungen in Software-Produktlinien
    ZUR ARBEIT
  • Victor Jüttner (2020): Anti-Pattern in Java-Systemen identifizieren und visualisieren
    ZUR ARBEIT
  • Lisa Vogelsberg (2018): Entwurf eines Datenmodells zur Speicherung von Softwarevisualisierungsartefakten
    zur Arbeit
  • Anna Juliane Triebel (2018): Reduktion von Quellcoderedundanz als Motivator der Evolution von Programmiersprachen am Beispiel von Java 8
    zur Arbeit
  • Nico Willert (2017): Arten der Redundanz im Zusammenhang mit Code-Clones
    zur Arbeit
  • Christian Schulze (2017): Visualisierung von Klassenbestandteilen am Beispiel der Stadtmetapher
    zur Arbeit
  • Johannes Roth (2017): Visualisierung der Struktur von ABAP-Software mittels generativer Softwareentwicklung
    zur Arbeit
  • Tilmann Sager (2017): Extraktion statischer SAP-Strukturinformationen in FAMIX als Grundlage für die Softwarevisualisierung
    zur Arbeit
  • Christina Wagner (2016): Anforderungen an einen Debugger für Softwaregenerator
    zur Arbeit
  • Denise Zilch (2015): Generative und modellgetriebene Softwarevisualisierung am Beispiel der Stadtmetapher
    zur Arbeit
  • Marcel Winter (2015): Interaktionskonzept zur Erstellung und Speicherung von dreidimensionalen Teilvisualisierungen
    zur Arbeit
  • Yves Annanias (2015): Integration von Quelltext in 3D-Softwarevisualisierungen
    zur Arbeit

 

Master

  • Tom Strempel (2021): Measuring the Energy Consumption of Software written in C on x86-64 Processors
    ZUR ARBEIT
  • Nico Willert (2019): Erstellung und Evaluation eines Verfahrens zur Messung von Redundanz anhand von Tokenzerlegung
    zur Arbeit
  • Stefan Bechert (2019): Umsetzung eines User Interfaces für Getaviz auf der Microsoft HoloLens
    zur Arbeit
  • Christina Sixtus (2019): Visualisierung von Variabilität in C-Quellcode
    zur Arbeit
  • Johannes Winkler (2018): 3D-Druck von Softwaremodellen
    zur Arbeit
  • Tino Mewes (2018): Konzeption und prototypische Implementierung eines web-basierten Dashboards zur Softwarevisualisierung
    zur Arbeit
  • Björn Ole Harnisch (2018): Empirische Untersuchung der Eignung von Code Clones für den Nachweis der Redundanz als Treiber für die Evolution von Programmierkonzepten
    zur Arbeit
  • Johann David Märker (2018): Methoden des Data-Minings zur Plagiatanalyse studentischer Abschlussarbeiten
    zur Arbeit
  • Jonas Buch (2016): Entwicklung und Evaluation von Feedbacktechniken in der Softwarevisualisierung
    zur Arbeit
  • David Baum (2014): Variabilitätsextraktion aus makrobasierten Software-Generatoren
    zur Arbeit
  • Max Lillack (2012): Einfluss von Eingabedaten auf nicht-funktionale Eigenschaften in Software-Produktlinien
    zur Arbeit

Das könnte Sie auch interessieren

Lehrveranstaltungen

mehr erfahren

Praktikum

mehr erfahren

Team der Professur

mehr erfahren