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 dement­sprechend als bearbeitungswürdig eingestuft. Es kann durchaus vorkommen, dass ausgeschriebene Themen veraltet sind. Daher sollten Sie auf jeden Fall Kontakt zu Mitarbeitenden der Professur auf­nehmen.

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 Verwen­dung 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 wissenschaftli­chen 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) Optimization of feature isolation

The approach described by Eisenecker & Müller generates set difference expressions of features of systems which allow to isolate a feature of interest. In many cases, already the partial evaluation of these set difference expressions leads to the desired result. In this thesis, it shall be systematically described and formalized to what extent the partial evaluation of set difference expressions can be optimized. Furthermore, the actually existing systems for the restriction of this optimization shall be considered.

b) Feature isolation based on set intersection only.

A set difference for isolating a feature involves two operands. The left operand is the intersection of all sets describing systems that contain a specific feature. The right operand is the union of all sets describing systems that do not contain the specific feature. The evaluation of a set union can be very costly from an efficiency point of view, and in some cases it may even be difficult to define it adequately. Therefore, this paper will investigate the extent to which feature isolation can be performed based solely on the intersection of system-describing sets. In this context, the potential of an iterative procedure for feature isolation will also be investigated.

c) 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.

d) 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.

e) 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.

f) 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

Published theses

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

You may also like

Courses

Read more

Internship

Read more