If you would like to write a thesis at the chair, please follow the instructions below and contact Prof. Eisenecker or a member of staff by e-mail and please put our secretary Jane Esbach in Cc.
The respective contacts can be found on the team page of the professorship.
Kriterien für Abschlussarbeiten
Die auf den Web-Seiten der Professur ausgeschriebenen Themen sind von uns geprüft und dementsprechend als bearbeitungswürdig eingestuft. Es kann durchaus vorkommen, dass ausgeschriebene Themen veraltet sind. Daher sollten Sie auf jeden Fall Kontakt zu Mitarbeitenden der Professur aufnehmen.
Selbstverständlich sind Sie auch frei, Ihr eigenes Thema vorzuschlagen. Dies diskutieren wir gern mit Ihnen. Bitte haben Sie jedoch Verständnis, dass wir eine Arbeit nicht betreuen, wenn uns das Thema in wissenschaftlichem Sinne nicht bearbeitungswürdig erscheint. Zudem werden wir ein Thema ablehnen, zu dessen Betreuung wir nicht die nötige fachliche Expertise besitzen.
Insbesondere bei Themen, die für oder mit externen Partnern (Firmen, Behörden, Einrichtungen usw.) bearbeitet werden, sind einige weitere Voraussetzungen zu erfüllen.
In der Regel problemlos ist die Bearbeitung eines Themas aus einem Forschungsprojekt oder einer Forschungskooperation der Professur mit einem externen Partner. Wenn es vertraglich geregelt ist, kann eine Arbeit auf dieser Grundlage im Ausnahmefall auch ein Sperrvermerk tragen.
Eine zweite Möglichkeit ist, dass das Thema bei einem externen Partner bearbeitet werden soll, mit dem eine langjährige vertrauensvolle Zusammenarbeit mit der Professur besteht. Ein Sperrvermerk wird hierbei nicht akzeptiert.
Eine weitere Möglichkeit ist, dass das Thema bei einem externen Partner bearbeitet werden soll, und dieser zustimmt, dass die Arbeit prinzipiell frei veröffentlicht werden kann und ihre Verwendung keinen Einschränkungen unterliegt. Ein Sperrvermerk ist damit ausgeschlossen.
In jedem Fall gilt, dass das Thema für die Professur einschlägig sein muss und einen wissenschaftlichen Anspruch aufweist, welcher dem Charakter der Abschlussarbeit entspricht.
Wichtige Kriterien für den wissenschaftlichen Anspruch sind:
- Benennung grundlegender Forschungsfragen
- Begründete Herleitung anzuwendender Methoden
- Erstellung oder Gewinnung entsprechender Artefakte
- Eine angemessene Evaluation
In Ausnahmefällen werden auch wissenschaftliche Literaturanalysen als Thema vergeben. Diese müssen dann ebenfalls entsprechenden Mindeststandards folgen.
Rein theoretische Themen ohne Evaluation werden nicht zur Betreuung angenommen.
Gez. Prof. Dr. Ulrich Eisenecker
Ausgeschriebene Abschlussarbeiten
Context
A software product line (SPL) comprises all software systems that can be created based on a common infrastructure including tools and software-related artifacts. Thus, an SPL supports the economic production of highly specialized software systems.
Similarities and differences of software systems of a SPL are described by so-called features. A feature is an important characteristic for a stakeholder. The systems of a SPL have common features and differ by variable features.
There is a high demand to find the parts of a software artifact, e.g. source code, that correspond to a certain feature. This problem is called feature location.
Recent research by Eisenecker & Müller introduces a formal approach to feature isolation as a necessary prerequisite for feature location (https://doi.org/10.1016/j.jss.2023.111938). The following topics for bachelor or master theses continue research based on this new approach.
Topics
a) Set operations for flat strings
A string is of course a sequence of characters. Therefore, one could consider the individual characters as ELements of a set. However, to calculate the intersection of two flat strings, the result of a diff operation (see en.wikipedia.org/wiki/Diff for more information) can also be used. In this paper, it shall be investigated which possibilities there are to compute the intersection of two strings using diff and related approaches. Furthermore, it will be investigated whether the analyzed approaches can also be used to define a union of flat strings and perform a set difference on the results of such processing.
b) Feature location for flat strings vs. AST
Assuming that the aforementioned work yields promising results, a comparison between the implementation of a feature location based on flat strings and a feature location based on an abstract syntax tree shall be performed. For this purpose, an SPL in the Java programming language could be used. The results presented in Müller, R., & Eisenecker, U. (2019): A Graph-Based Feature Location Approach Using Set Theory, In 23rd Systems and Software Product Line Conference SPLC '19 (pp. 161-165), Paris, France: ACM, Doi:10.1145/3336294.3342358, are based on the analysis of Java source code. Therefore, this could be a viable basis for performing such a comparison.
c) Feature Location with unsuitable number or unsuitable categories of features.
If the previous two theses provide technically sound results, they should serve as a basis for performing feature location with incorrect assumptions about categories and number of features. This will allow to evaluate the robustness of feature isolation with respect to feature location in practice.
d) Evaluation of (Fuzzy) parsers for C++ (including preprocessor directives)
In this work, (fuzzy) parsers that can process C++ source code, ideally including preprocessor directives, and that are available under a FOSS license are to be investigated. The parsers found are to be evaluated with a sample of specific C++ source files. The accuracy of the parsing results and the possibility of further processing the results are important criteria.
Prerequisites
Work on all topics requires a high level of formal thinking and a willingness to deeply explore the topic of feature location. Implementations should ideally be in C++, unless Java is specifically desired.
Contact
If you have questions or are interested in any of the topics, please contact Prof. 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