Attribut:Kurzfassung

Aus SDQ-Institutsseminar

Dies ist ein Attribut des Datentyps Text.

Unterhalb werden 250 Seiten angezeigt, auf denen für dieses Attribut ein Datenwert gespeichert wurde.
(
Performancevorhersage für Container-Anwendungen Abstract: Nowadays distributed applications are often not statically deployed on virtual machines. Instead, a desired state is defined declaratively. A control loop then tries to create the desired state in the cluster. Predicting the impact on the performance of a system using these deployment techniques is difficult. This paper introduces a method to predict the performance impact of the usage of containers and container orchestration in the deployment of a system. Our proposed approach enables system simulation and experimentation with various mechanisms of container orchestration, including autoscaling and container scheduling. We validated this approach using a micro-service reference application across different scenarios. Our findings suggest, that the simulation could effectively mimic most features of container orchestration tools, and the performance prediction of containerized applications in dynamic scenarios could be improved significantly.  +
Gamify Your Learning Experience -- Möglichkeiten von Gamification Lernprozesse und -erfolge zu visualisieren Gamification enhances education by boosting motivation and fostering effective learning. This paper explores the link between game design elements and intrinsic motivation in education. Drawing from 24 scholarly papers, it identifies ten key game design elements: badges, points, leaderboards, virtual currency, progress bars, achievements, avatars, concept maps, storytelling, and feedback. To evaluate their impact, a survey using mockups was conducted. Results highlight the popularity of combinations like concept maps with progress bars and points with feedback. The study also uncovers correlations between preferred elements and learner characteristics. By uncovering these insights, the research advances gamification in education and guides tailored approaches for boosting student motivation.  +
A
Die Entwicklung moderner Softwaresysteme basiert oft auf mehreren Artefakten. Diese Artefakte teilen sich oft redundante oder abhängige Informationen, welche während der Entwicklung des Softwaresystems konsistent gehalten werden müssen. Die manuelle Durchführung dieses Prozesses ist arbeitsaufwendig und fehleranfällig. Konsistenzerhaltungsmechanismen ermöglichen diese Artefakte automatisch konsistent zu halten. Konsistenzerhaltung basiert oftmals auf bidirektionalen Transformationen, welche ein Zielmodell aktualisieren, wenn ein Quellmodell modifiziert wird. Während das Gebiet der bidirektionale Transformationen stark erforscht ist, hat Konsistenzerhaltung von mehr als zwei Modellen bisher weniger Aufmerksamkeit erhalten.Allerdings umfasst die Entwicklung von Softwaresystemen jedoch oft mehr als zwei Modelle. Folglich benötigt man Konsistenzerhaltung zwischen mehr als zwei Modellen, welche durch Netzwerke bidirektionaler Transformationen erreicht werden kann. Solche Transformationsnetzwerke kombinieren mehrere Transformationen, wobei jede einzelne für die Konsistenzerhaltung zweier Modelle verantwortlich ist. Da die Entwicklung jeder Transformation individuelles Domänenwissen erfordert, werden sie in der Regel von mehreren Domänenexperten unabhängig voneinander entwickelt. Zusätzlich können einzelne Transformationen in anderen Netzwerken wiederverwendet werden. Dies wird jedoch in bisherigen Arbeiten nicht berücksichtigt, macht aber die Konsistenzerhaltung durch Netzwerke bidirektionaler Transformationen anfällig für Probleme. In einem Netzwerk von Transformationen kann es beispielsweise zwei oder mehr Verkettungen von Transformationen geben, die dieselben Metamodelle mit verschiedenen anderen Metamodellen in Beziehung setzen. Jedoch können sie die Elemente unterschiedlich miteinander in Beziehung setzen. Dies kann zum Beispiel zu einer doppelten Erstellung derselben Elemente über die verschiedenen Transformationsketten führen. Es gibt jedoch kein systematisches Wissen über die Problemarten, die in solchen Netzwerken auftreten können oder ob und wie derartige Probleme systematisch verhindert werden können. Diese Thesis führt eine Fallstudie durch, die ermitteln soll, welche Arten von Problemen bei der Konsistenzerhaltung durch Netzwerke bidirektionaler Transformationen auftreten können. Für diese Probleme leiten wir eine Klassifizierung hinsichtlich des erforderlichen Wissens für ihre Vermeidung ab. Wir unterscheiden zwischen dem Wissen, dass die Transformation in einem Netzwerk genutzt werden kann und dem Wissen über die Inhalte der anderen Transformationen. Für Probleme, die Transformationsentwickler verhindern können, schlagen wir Strategien zur systematischen Vermeidung während ihrer Konstruktion vor. In unserer Fallstudie sind 90 % der gefundenen Probleme verhinderbar. Die übrigen Probleme lassen sich während der Entwicklung einer einzelnen Transformation nicht ohne das Wissen über weitere Transformationen im Netzwerk vermeiden. Folglich hilft diese Thesis Transformationsentwicklern Fehler bei der Erstellung von Transformationen systematisch zu vermeiden und ermöglicht es Netzwerkentwicklern Fehler zu erkennen, die bei der Konstruktion der Transformation nicht verhindert werden können.  
Dependency estimation is a significant part of knowledge discovery and allows strategic decisions based on this information. Many dependency estimation algorithms require a large amount of data for a good estimation. But data can be expensive, as an example experiments in material sciences, consume material and take time and energy. As we have the challenge of expensive data collection, algorithms need to be data efficient. But there is a trade-off between the amount of data and the quality of the estimation. With a lack of data comes an uncertainty of the estimation. However, the algorithms do not always quantify this uncertainty. As a result, we do not know if we can rely on the estimation or if we need more data for an accurate estimation. In this bachelor’s thesis we compare different state-of-the-art dependency estimation algorithms using a list of criteria addressing the above-mentioned challenges. We partly developed the criteria our self as well as took them from relevant publications. Many of the existing criteria where only formulated qualitative, part of this thesis is to make these criteria measurable quantitative, where possible, and come up with a systematic approach of comparison for the rest. We also conduct a quantitative analysis of the dependency estimation algorithms by experiment on well-established and representative data sets that performed well in the qualitative analysis.  +
Although modularity is a well established concept, it has not received much attention when it comes to model-driven software development. Over time, metamodels tend to evolve and grow in complexity to encompass new aspects and features. If modularization steps are not taken and metamodels are extended intrusively, they can become difficult to maintain and to extend. With the increased complexity, the modularization can become even more challenging. We present a novel approach to assist the modeler in the task of modularization. Our approach addresses the problem from a graphical perspective. The proposed tool support displays a layered structure, where each layer has certain level of abstraction, and allows the modeler to organize metamodels inside the layers. The tool provides the modeler with full control over the modularization process and full knowledge about the relations between the metamodels, thus facilitating the modularization task greatly.  +
Vertraulichkeit ist eine wichtige Sicherheitsanforderung an Informationssysteme. Bereits im frühen Entwurf existieren Ungewissheiten, sowohl über das System als auch dessen Umgebung, die sich auf die Vertraulichkeit auswirken können. Es existieren Ansätze, die Softwarearchitektinnen und Softwarearchitekten bei der Untersuchung von Ungewissheiten und deren Auswirkung auf die Vertraulichkeit unterstützen und somit den Aufwand reduzieren. Diese Ansätze wurden jedoch noch nicht umfangreich evaluiert. Bei der Evaluierung ist ein einheitliches Vorgehen wichtig, um konsistente Ergebnisse zu erhalten. Obwohl es allgemein Arbeiten in diesem Bereich gibt, sind diese nicht spezifisch genug, um die Anforderung zu erfüllen. In dieser Ausarbeitung stellen wir ein Rahmenwerk vor, das diese Lücke schließen soll. Dieses Rahmenwerk besteht aus einem Untersuchungsprozess und einem Fallstudienprotokoll, diese sollen Forschenden helfen, weitere Fallstudien zur Validierung der Ungewissheits-Auswirkungs-Analysen strukturiert durchzuführen und damit auch Ungewissheiten und deren Auswirkung auf Vertraulichkeit zu erforschen. Wir evaluieren unseren Ansatz, indem wir eine Mobilitätsfallstudie durchführen.  +
An existing architectural attack propagation analysis considers vulnerability analysis in software architecture. The analysis is using access control policies together with the vulnerabilities and their combinations to propagate through the system. This phenomenon has to be investigated thoroughly in a real-life context to be able to make conclusions about metrics, e.g. accuracy. However, a concrete approach to achieve the investigation of Attack Propagation Analyses in a real-life context is missing. This work aims to close this gap with “A Mobility Case Study for Validating Attack Propagation Analyses”. In order to achieve validity, conventional properties of case studies in software engineering were identified. Afterward, the end result, in form of a software model, was reviewed according to these properties. This review has revealed that all properties were fulfilled, however not in the highest degree of fulfillment. A discussion about this is held in this thesis.  +
Parallelisierende Compiler und Auto-Tuner sind zwei der vielen Technologien, die Entwick- lern das Schreiben von leistungsfähigen Anwendungen für moderne heterogene Systeme erleichtern können. In dieser Arbeit stellen wir einen parallelisierenden Compiler vor, der Parallelität in Programmen erkennen und parallelen Code für heterogene Systeme erzeu- gen kann. Außerdem verwendet der vorgestellte Compiler Auto-Tuning, um eine optimale Partitionierung der parallelisierten Codeabschnitte auf mehrere Plattformen zur Laufzeit zu finden, welche die Ausführungszeit minimiert. Anstatt jedoch die Parallelisierung ein- mal für jeden parallelen Abschnitt zu optimieren und die gefundenen Konfigurationen so lange zu behalten wie das Programm ausgeführt wird, sind Programme, die von unserem Compiler generiert wurden, in der Lage zwischen verschiedenen Anwendungskontexten zu unterscheiden, sodass Kontextänderungen erkannt und die aktuelle Konfiguration für je- den vorkommenden Kontext individuell angepasst werden kann. Zur Beschreibung von Kontexten verwenden wir sogenannte Indikatoren, die bestimmte Laufzeiteigenschaften des Codes ausdrücken und in den Programmcode eingefügt werden, damit sie bei der Aus- führung ausgewertet und vom Auto-Tuner verwendet werden können. Darüber hinaus speichern wir gefundene Konfigurationen und die zugehörigen Kontexte in einer Daten- bank, sodass wir Konfigurationen aus früheren Läufen wiederverwenden können, wenn die Anwendung erneut ausgeführt wird. Wir evaluieren unseren Ansatz mit der Polybench Benchmark-Sammlung. Die Ergeb- nisse zeigen, dass wir in der Lage sind, Kontextänderungen zur Laufzeit zu erkennen und die Konfiguration dem neuen Kontext entsprechend anzupassen, was im Allgemeinen zu niedrigeren Ausführungszeiten führt.  +
A model-based catalog for security solutions and an architecture-based security analysis tool that helps developers without security expertise is in development at the FZI. The more the catalog grows, the harder it gets for its users to browse it manually. A query language for the security catalog would offer users an easy way to browse it and, in addition, it would support the development of the security analysis tool. During the work on this thesis, this query language was developed. Afterwards, it was evaluated on the case study CoCoME.  +
Subgroup discovery is a data mining technique that is used to extract interesting relationships in a dataset related to to a target variable. These relationships are described in the form of rules. Multiple SD techniques have been developed over the years. This thesis establishes a comparative study between a number of these techniques in order to identify the state-of-the-art methods. It also analyses the effects discretization has on them as a preprocessing step . Furthermore, it investigates the effect of hyperparameter optimization on these methods. Our analysis showed that PRIM, DSSD, Best Interval and FSSD outperformed the other subgroup discovery methods evaluated in this study and are to be considered state-of-the-art . It also shows that discretization offers an efficiency improvement on methods that do not employ internal discretization. It has a negative impact on the quality of subgroups generated by methods that perform it internally. The results finally demonstrates that Apriori-SD and SD-Algorithm were the most positively affected by the hyperparameter optimization.  +
Die sichere Behandlung von sensitiven Daten stellt eine zentrale Qualitätseigenschaft eines Softwaresystems dar und muss bereits während des Architekturentwurfs beachtet werden. Ein Ansatz zur Modellierung von Sicherheitseigenschaften auf der Architekturebene ist Data-Centric Palladio (DCP). DCP reichert das Architekturmodell um ein Datenflussmodell an, um Analysen der Vertraulichkeitseigenschaften von Daten zu ermöglichen. Es ist jedoch unklar, ob der in DCP gewählte Ansatz bezüglich der Ausdrucksmächtigkeit äquivalent zu etablierten Ansätzen der Modellierung und Analyse von Sicherheitseigenschaften ist. Daher wird in dieser Arbeit die Ausdrucksmächtigkeit von DCP mit der Ausdrucksmächtigkeit von UMLsec verglichen. Dazu werden für ausgewählte UMLsec-Analysen äquivalente Analysen in DCP definiert und implementiert. Zudem werden Modelltransformationen zwischen den Eingabemodellen der UMLsec-Analyse und der DCP-Analyse spezifiziert, mit derer Hilfe die Genauigkeit der erstellten DCP-Analyse überprüft wird. Aus den Erkenntnissen, die aus der Definition und Evaluation der erstellten DCP-Analysen gewonnen werden, wird eine Aussage über die Ausdrucksmächtigkeit von DCP im Vergleich zu UMLsec getroffen.  +
Im Forschungsprojekt QuartrBack wurden Menschen mit Demenz GPS-Tracker mitgegeben, um deren Position zu jeder Zeit bestimmen zu können. Die Herausforderung dieser Bachelorarbeit war es, aus den erhaltenen (sehr dünnen) Daten ein möglichst genaues Quartier (also jene Wege, die oft von einer Person gelaufen werden) zu erstellen. Dies wurde mithilfe der OpenStreetMaps Daten realisiert.  +
Software-Systeme können sensible Informationen verarbeiten. Um ihre Vertraulichkeit zu gewährleisten, können sowohl das Architekturmodell, als auch seine Implementierung hinsichtlich des Informationsflusses untersucht werden. Dazu wird eine Vertraulichkeitsspezifikation definiert. Beide Modellebenen besitzen eine Repräsentation der gleichen Spezifikation. Wird das System weiterentwickelt, kann sie sich auf beiden Ebenen verändern und dementsprechend widersprüchliche Aussagen enthalten. Möchte man die Vertraulichkeit der Informationen verifizieren, müssen die Spezifikationselemente im Quellcode in einem zusätzlichen Schritt in eine weitere Sprache übersetzt werden. Die Bachelorarbeit beschäftigt sich mit der Transformation der unterschiedlichen Repräsentationen der Vertraulichkeitsspezifikation eines Software-Systems. Das beinhaltet ein Abbildungskonzept zur Konsistenzhaltung der Vertraulichkeitsspezifikation und die Übersetzung in eine Sprache, die zur Verifikation benutzt werden kann.  +
A ranking is the result of running an experiment, a set of encoders is applied to an experimental condition (dataset, model, tuning, scoring) and are then ranked according to their performance. To draw conclusions about the performance of the encoders for a set of experimental conditions, one can aggregate the rankings into a consensus ranking. (i.e. taking the median rank) The goal of the thesis is to explore the space of consensus rankings and find all possible consensus rankings. However, running an experiment is a very time-consuming task. Therefore we utilize Active Learning, to avoid running unnecessary experiments. In Active Learning, the learner can choose the data it is trained on and achieves greater accuracy with fewer labeled data.  +
Performance Models (PMs) can be used to predict software performance and evaluate the alternatives at the design stage. Building such models manually is a time consuming and not suitable for agile development process where quick releases have to be generated in short cycles. To benefit from model-based performance prediction during agile software development the developers tend to extract PMs automatically. Existing approaches that extract PMs based on reverse-engineering and/or measurement techniques require to monitor and analyze the whole system after each iteration, which will cause a high monitoring overhead. The Continuous Integration of Performance Models (CIPM) approach address this problem by updating the PMs and calibrate it incrementally based on the adaptive monitoring of the changed parts of the code. In this work, we introduced an adaptive monitoring approach for performance model integration, which instruments automatically only the changed parts of the source code using specific pre-defined probes types. Then it monitors the system adaptively. The resulting measurements are used by CIPM to estimate PM parameters incrementally. The evaluation confirmed that our approach can reduce the monitoring overhead to 50%.  +
Outlier detection targets the discovery of abnormal data patterns. Typical scenarios, such as are fraud detection and predictive maintenance are particularly challenging, since the data is available as an infinite and ever evolving stream. In this thesis, we propose Adaptive Variational Autoencoders (AVA), a novel approach for unsupervised outlier detection in data streams. Our contribution is two-fold: (1) we introduce a general streaming framework for training arbitrary generative models on data streams. Here, generative models are useful to capture the history of the stream. (2) We instantiate this framework with a Variational Autoencoder, which adapts its network architecture to the dimensionality of incoming data. Our experiments against several benchmark outlier data sets show that AVA outperforms the state of the art and successfully adapts to streams with concept drift.  +
Raytracing ist ein rechenintensives Verfahren zur Erzeugung photorealistischer Bilder. Durch die automatische Optimierung von Parametern, die Einfluss auf die Rechenzeit haben, kann die Erzeugung von Bildern beschleunigt werden. Im Rahmen der vorliegenden Arbeit wurde der Auto-Tuner libtuning um ein generalisiertes Reinforcement Learning-Verfahren erweitert, das in der Lage ist, bestimmte Charakteristika der zu zeichnenden Frames bei der Auswahl geeigneter Parameterkonfigurationen zu berücksichtigen. Die hierfür eingesetzte Strategie ist eine ε-gierige Strategie, die für die Exploration das Nelder-Mead-Verfahren zur Funktionsminimierung aus libtuning verwendet. Es konnte gezeigt werden, dass ein Beschleunigung von bis zu 7,7 % in Bezug auf die gesamte Rechenzeit eines Raytracing-Anwendungsszenarios dieser Implementierung gegenüber der Verwendung von libtuning erzielt werden konnte.  +
Diese Arbeit behandelt die Beschreibung des Verhalten von Simulationen, welche von Modellen der Domänen Geschäftsprozessen und Informationsystem beschriebene Abläufe simulieren. Das beschreiben des Verhalten von Simulation visiert dabei das schaffen weiterer Vergleichsmöglichkeiten für selbige an. Dafür werden Formalismen hinsichtlich ihrer Beschreibungsmöglichkeiten für solche Simulationen evaluiert, mit dem Ziel einen Formalismus zu finden, welcher das Verhalten der Simulationen beschreiben kann. In der Literatur ist das Vergleichen von Simulationen mit dem Vergleichen des Simulationsergebnisses verknüpft. Das Erzeugen des Ergebnisses wird nicht zum Vergleich herangezogen. Das Einbeziehen des Verhaltens von Simulationen bietet weitere Kriterien für das Vergleichen von Simulationen. In einem ersten Schritt, werden innerhalb einer Studie Formslismen hinsichtlich ihrer Modelliergungsmöglichkeiten für das Beschreiben des genannten Verhaltens evaluiert. Im zweiten Schritt wird mithilfe der Studienergebnissen ein Formalismus entworfen, welcher auf die Anforderungen für das Beschreiben des Verhaltens der Simulationen angepasst ist. Das Ergebnis dieser Arbeit bildet ein Formalismus, welcher dahingehend evaluiert wurde, das Verhalten von Simulationen im genannten Kontext zu beschreiben.  +
Im Rahmen dieser Bachelorarbeit wurde die Relation zwischen Dokumentationen der Softwarearchitektur in natürlicher Sprache und formellen Modellen untersucht. Dabei wurde versucht herauszufinden, wie sich die Entwurfsentscheidungen in der Dokumentation auf das Modell auswirken. Zu diesem Zweck wurden zwei Fallstudien durchgeführt. Zunächst wurde ein Modell der Implementierung erstellt, das auf dem Palladio-Komponentenmodell basiert. Danach wurden die Aussagen in der Dokumentation klassifiziert und anschließend wurde untersucht, welche Entwurfsentscheidungen im Modell wiederzufinden sind und welche nicht dargestellt werden. Die Ergebnisse wurden genutzt, um eine Aussage über die Relation zwischen den Artefakten zu treffen.  +
Bei Disfluenzen handelt es sich um Unterbrechungen des normalen Sprechflusses, die durch Fehler, Wortwiederholungen, Füllwörter oder ähnliche andere Wörter entstanden sind. Sie sind ein wesentlicher Bestandteil von spontan gesprochenen Äußerungen. Sie erschweren jedoch eine nachfolgende Bearbeitung dieser Äußerungen und müssen daher korrigiert werden. Eine automatisierte Korrektur erweist sich aufgrund des unregelmäßigen Aufbaus der Disfluenzen als schwierig. Deshalb wird in dieser Bachelorarbeit die Erkennung und Korrektur von Disfluenzen in natürlichsprachlichen Äußerungen untersucht. Hierzu wird mit Hilfe eines maschinellen Lernverfahrens ein Klassifikator entwickelt, der Disfluenzen erkennt und korrigiert. Der Klassifikator wird dabei als Agent für die Rahmenarchitektur PARSE umgesetzt. Die Funktionalität des entworfenen Werkzeugs wird anhand von händischen Transkriptionen sowie einem Testdatensatz des Switchboard-Korpus evaluiert. Auf diesen beiden Datensätzen wird entsprechend ein F1-Wert von 0,710 beziehungsweise 0,792 erreicht.  +
Die Klassifikation von Entwurfsentscheidungen in natürlichsprachiger Softwaredokumentation ermöglichen bessere Implementierungs- und Wartungsprozesse und die Erstellung konsistenter Dokumentationsartefakte. Das in dieser Arbeit entwickelte Klassifikationsschema für Entwurfsentscheidungen erweitert bestehende Ansätze, um klar umrissene Klassen festzulegen und Entwurfsentscheidungen vollständig abzubilden. Das Schema wurde in einem iterativen Prozess die Passform des Klassifikationsschemas durch die Anwendung auf die reale Softwarearchitekturdokumentation von 17 Fallstudien verbessert und validiert. In einem zweiten Teil wird eine Anwendungsmöglichkeit des entwickelten Klassifikationsschemas eröffnet, indem in einer Proof-of-Concept-Implementierung untersucht wird, mit welchen Ansätzen Entwurfsentscheidungen identifiziert und klassifiziert werden können. Durch die Evaluation mit statistischen Maßen wird gezeigt, welche Methoden zur Textvorverarbeitung, zur Überführung in Vektorrepräsentationen und welche Lernalgorithmen besonders für diese Klassifikation geeignet sind.  +
In dieser Arbeit werden mehrere rekurrente neuronale Netze verglichen. Es werden LSTMs, GRUs, CTRNNs und Elman Netze untersucht. Die Netze werden dabei untersucht sich einen Punkt zu merken und anschließend nach dem Punkt mit einem virtuellen Roboterarm zu greifen. Bei LSTM, GRU und Elman Netzen wird auch untersucht wie die Netze die Aufgabe lösen, wenn jedes Neuron nur auf den eigenen Speicher zugreifen kann. Dabei hat sich herausgestellt, dass LSTMs und GRUs deutlich besser bei den Experimenten bewertet werden als CTRNNs und Elman Netze. Außerdem werden die Rechenzeit und der Zusammenhang zwischen der Anzahl der zu trainierenden Parameter und der Ergebnisse der Experimente verglichen.  +
Temporal text corpora like the Google Ngram Data Set usually incorporate a vast number of words and expressions, called ngrams, and their respective usage frequencies over the years. The large quantity of entries complicates working with the data set, as transformations and queries are resource and time intensive. However, many use cases do not require the whole corpus to have a sufficient data set and achieve acceptable query results. We propose various compression methods to reduce the total number of ngrams in the corpus. Specially, we propose compression methods that, given an input dictionary of target words, find a compression tailored for queries on a specific topic. Additionally, we utilize time-series compression methods for quick estimations about the properties of ngram usage frequencies. As basis for our compression method design and experimental validation serve CHQL (Conceptual History Query Language) queries on the Google Ngram Data Set.  +
Temporal text corpora like the Google Ngram dataset usually incorporate a vast number of words and expressions, called ngrams, and their respective usage frequencies over the years. The large quantity of entries complicates working with the dataset, as transformations and queries are resource and time intensive. However, many use-cases do not require the whole corpus to have a sufficient dataset and achieve acceptable results. We propose various compression methods to reduce the absolute number of ngrams in the corpus. Additionally, we utilize time-series compression methods for quick estimations about the properties of ngram usage frequencies. As basis for our compression method design and experimental validation serve CHQL (Conceptual History Query Language) queries on the Google Ngram dataset. The goal is to find compression methods that reduce the complexity of queries on the corpus while still maintaining good results.  +
Research papers are commonly classified into categories, and we can see the existing contributions as a massive document directory, with sub-folders. However, research typically evolves at an extremely fast pace; consider for instance the field of computer science. It can be difficult to categorize individual research papers, or to understand how research communities relate to each other. In this thesis we will analyze and visualize semantics from massive document directories. The results will be displayed using the arXiv corpus, which contains domain-specific (computer science) papers of the past thirty years. The analysis will illustrate and give insight about past trends of document directories and how their relationships evolve over time.  +
Non-intrusive load monitoring (NILM) algorithms aim at disaggregating consumption curves of households to the level of single appliances. However, there is no conventional way of quantifying and representing the tradeoff between the quality of analyses, such as the accuracy of the disaggregated consumption curves, and the load on the available computing resources. Thus, it is hard to plan the underlying infrastructure and resources for the analysis system and to find the optimal configuration of the system. This thesis introduces a system that assesses the quality of different analyses and their runtime behavior. This assessment is done based on varying configuration parameters and changed characteristics of the input dataset. Varied characteristics are the granularity of the data and the noisiness of the data. We demonstrate that the collected runtime behavior data can be used to choose reasonable characteristics of the input data set.  +
Generating source code from models is one of the major advantages of a model-driven development process but most of the time this generated code does not suffice and developers are still required to write code by hand. This leads to the question of how to best integrate handwritten and generated code. Previous authors suggested a number of possible solutions to this problem of integrating handwritten and generated code but the possibilities to objectively compare these alternatives are still limited. Therefore we collected the different analysis criteria suggested by other authors as well as complemented them with additional criteria proposed by senior developers. We then applied these criteria to the possible integration approaches presented by previous authors to create an overview for developers to use when having to choose an integration approach for their model-driven project. Applying the results of this analysis we chose the best-fitting integration approach for the development of a large industrial development project and found out that migrating to this suggested integration approach would improve the overall software quality regarding complexity, coupling, and cohesion.  +
Rückverfolgbarkeitsinformationen helfen Entwickler beim Verständnis von Softwaresystemen und dienen als Grundlage für weitere Techniken wie der Abdeckungsanalyse. In dieser Arbeit wird untersucht, wie Einbettungen für die automatische Rückverfolgbarkeit zwischen Anforderungen und Quelltext eingesetzt werden können. Dazu werden verschiedene Möglichkeiten betrachtet, die Anforderungen und den Quelltext mit Einbettungen zu repräsentieren und anschließend aufeinander abzubilden, um Rückverfolgbarkeitsverbindungen zwischen ihnen zu erzeugen. Für eine Klasse existieren beispielsweise viele Optionen, welche Informationen bzw. welche Klassenelemente zur Berechnung einer Quelltexteinbettung berücksichtigt werden. Für die Abbildung werden zwischen den Einbettungen durch eine Metrik Ähnlichkeitswerte berechnet, mit deren Hilfe Aussagen über die Existenz einer Rückverfolgbarkeitsverbindung zwischen ihren repräsentierten Artefakten getroffen werden können. In der Evaluation wurden die verschiedenen Möglichkeiten für die Einbettung und Abbildung untereinander und mit anderen Arbeiten verglichen. Bezüglich des F1-Wertes erzeugen Quelltexteinbettungen mit Klassennamen, Methodensignaturen und -kommentaren sowie Abbildungsverfahren, die die Word Mover’s Distance als Ähnlichkeitsmetrik nutzen, die besten projektübergreifenden Ergebnisse. Das beste Verfahren erreicht auf dem Projekt LibEST, welches aus 14 Quelltext- und 52 Anforderungsartefakten besteht, einen F1-Wert von 60,1%. Die beste projektübergreifende Konfiguration erzielt einen durchschnittlichen F1-Wert von 39%.  +
Durch den Umstieg auf erneuerbare Energien und die damit einhergehende Dezentralisierung sowie die immer weiter fortschreitende Digitalisierung des Stromnetzes ergeben sich neue Herausforderungen für den Betrieb eines Stromnetzes. Eine dieser Herausforderungen sind die deutlich erweiterten Angriffsmöglichkeiten, die sich durch den verstärkten Einsatz von Intelligenten Stromzählern und Geräten des Internet der Dinge und deren maßgeblichem Beitrag zur Stromverteilung ergeben. Um diese Angriffsmöglichkeiten in Analysen abbilden zu können, wird in dieser Bachelorarbeit eine Erweiterung der bestehenden Analyse von Angriffen auf Intelligente Stromnetze aus dem Smart Grid Resilience Framework vorgenommen. Zu diesem Zweck erfolgt eine Transformation des bestehenden Modells in eine Netzwerktopologie, auf welcher dann eine Angreiferanalyse ausgeführt wird. Die Evaluation dieser Angreiferanalyse erfolgt dabei anhand der bereits bestehenden Angreiferanalyse des Smart Grid Resilience Frameworks. Weiterhin wird die Genauigkeit der Transformation sowie die Skalierbarkeit von Transformation und Angreiferanalyse evaluiert.  +
Modern applications typically need to find solutions to complex problems under limited time and resources. In settings, in which the exact computation of indicators can either be infeasible or economically undesirable, the use of “anytime” algorithms, which can return approximate results when interrupted, is particularly beneficial, since they offer a natural way to trade computational power for result accuracy. However, modern systems typically need to solve multiple problems simultaneously. E.g. in order to find high correlations in a dataset, one needs to examine each pair of variables. This is challenging, in particular if the number of variables is large and the data evolves dynamically. This thesis focuses on the following question: How should one distribute resources at anytime, in order to maximize the overall quality of multiple targets? First, we define the problem, considering various notions of quality and user requirements. Second, we propose a set of strategies to tackle this problem. Finally, we evaluate our strategies via extensive experiments.  +
In this work, we consider ngram corpora, i.e., a set of word chains of different lengths and its usage frequency in natural language. For example, the 3-gram "bag of words" may be used 200 times. Obviously, there exists a dependence between the usage frequency of (1) the unigrams "bag", "of", and "words", (2) the bigrams "bag of" and "of words", and (3) the trigram "bag of words". This connection is partially used in language models to implement grammar correction or speech recognition. From a database point of view, the ngram corpus contains either redundant information or information that can be well estimated. This is an indication that we can achieve a high reduction of the corpus size while still providing its information with high accuracy. In this work, we research the connection between n- and (n+1)-grams and vice versa. Our objective is to store only a part of the full ngram corpus and estimate the rest of the corpus.  +
In industrial processes (Industry 4.0) and other fields in our lives like the energy or health sector, the confidentiality of data becomes increasingly important. For the protection of confidential information on critical systems, it is crucial to be able to find relevant attack paths in different access-control contexts to a critical element. In order to minimize costs, it is important to already consider this issue in the design phase of the software architecture. There are already approaches considering the topic of attack path generation. However, they do not consider software architecture modeling or they do not consider both vulnerabilities and access control mechanisms. Hence, this thesis presents an approach for finding all potential attack paths in a software architecture model considering access control and vulnerabilities. However, all attack paths are often to many, so the approach presented here introduces and utilizes meaningful filter criteria based on wide-spread vulnerability classification standards.  +
In this thesis, we present our approach to handle uncertainty in access control during design time. We propose the concept of trust as a composition of environmental factors that impact the validity of and consequently trust in access control properties. We use fuzzy inference systems as a way of defining how environmental factors are combined. These trust values are than used by an analysis process to identify issues which can result from a lack of trust. We extend an existing data flow diagram approach with our concept of trust. Our approach of adding knowledge to a software architecture model and providing a way to analyze model instances for access control violations shall enable software architects to increase the quality of models and further verify access control requirements under uncertainty. We evaluate the applicability based on the availability, the accuracy and the scalability regarding the execution time.  +
Distributed message-based microservice systems architecture has seen considerable evolution in recent years, making them easier to extend, reuse and manage. But, the challenge lies in the fact that such software systems are constituted of components that are more and more autonomous, distributed, and are deployed with different technologies. On the one hand such systems through their flexible architecture provide a lot of advantages. On the other hand, they are more likely to be changed fast and thus make their architecture less reliable and up-to-date. Architecture reconstruction method can support to obtain the updated architecture at different phases of development life cycle for software systems. However, the existing architecture reconstruction methods do not support the extraction for message-based microservice systems. In our work we try to handle this problem by extending an existing approach of architecture model extraction of message-based microservice systems from their tracing data (source code instrumented) in a way that such systems can be supported. Through our approach, we provide a way to automatically extract performance models for message-based microservice systems through dynamic analysis. We then evaluate our approach with the comparison of extracted model with the manual model with statistical metrics such as precision, recall and F1-score in order to find out the accuracy of our extracted model.  +
In times of highly interconnected systems, confidentiality becomes a crucial security quality attribute. As fixing confidentiality breaches becomes costly the later they are found, software architects should address confidentiality early in the design time. During the architectural design process, software architects take Architectural Design Decisions (ADDs) to handle the degrees of freedom, i.e. uncertainty. However, ADDs are often subjected to assumptions and unknown or imprecise information. Assumptions may turn out to be wrong so they have to be revised which re-introduces uncertainty. Thus, the presence of uncertainty at design time prevents from drawing precise conclusions about the confidentiality of the system. It is, therefore, necessary to assess the impact of uncertainties at the architectural level before making a statement about confidentiality. To address this, we make the following contributions: First, we propose a novel uncertainty categorization approach to assess the impact of uncertainties in software architectures. Based on that, we provide an uncertainty template that enables software architects to structurally derive types of uncertainties and their impact on architectural element types for a domain of interest. Second, we provide an Uncertainty Impact Analysis (UIA) that enables software architects to specify which architectural elements are directly affected by uncertainties. Based on structural propagation rules, the tool automatically derives further architectural elements which are potentially affected. Using the large-scale open-source contract tracing application called Corona Warn App (CWA) as a case study, we show that the UIA achieves 100% recall while maintaining 44%-91% precision when analyzing the impact of uncertainties on architectural elements.  +
Im Rahmen der Masterarbeit „Architektur-basierte Wartbarkeitsvorhersage von Metamodellen mittels Evolutionsszenarien“ wurden Metamodelle für die Modellierung von Metamodell-Architekturen sowie Evolutionsszenarien, die Änderungen auf Metamodell-Architekturen beschreiben, entworfen. Das Metamodell für Metamodell-Architekturen ermöglicht die Modellierung von komplexen Metamodellen auf einer abstrakteren Ebene analog zur Software-Architektur. Für beide Metamodelle wurden Editoren für die Modellierung entwickelt. Zusätzlich wurde ein Werkzeug zur Vorhersage der Wartbarkeit, basierend auf einem Evolutionsszenario, entwickelt. Die entwickelten Werkzeuge wurden anschließend auf ihre Benutzbarkeit über eine Benutzerstudie sowie auf Funktionalität über Fallstudien analysiert.  +
To deploy an ML model in practice, a stakeholder needs to understand the behaviour and implications of this model. To help stakeholders develop this understanding, researchers propose a variety of technical approaches, so called eXplainable Artificial Intelligence (XAI). Current XAI approaches follow very task- or model-specific objectives. There is currently no consensus on a generic method to evaluate most of these technical solutions. This complicates comparing different XAI approaches and choosing an appropriate solution in practice. To address this problem, we formally define two generic experiments to measure human understanding of ML models. From these definitions we derive two technical strategies to improve understanding, namely (1) training a surrogate model and (2) translating inputs and outputs to effectively perceivable features. We think that most existing XAI approaches only focus on the first strategy. Moreover, we show that established methods to train ML models can also help stakeholders to better understand ML models. In particular, they help to mitigate cognitive biases. In a case study, we demonstrate that our experiments are practically feasible and useful. We suggest that future research on XAI should use our experiments as a template to design and evaluate technical solutions that actually improve human understanding.  +
In Multi-Agenten Systemen (MAS) arbeiten verschiedene Agenten an einem gemeinsamen Problem. Auch im Bereich der natürlichen Sprachverarbeitung (NLP) werden solche Systeme verwendet. Agenten eines MAS für natürliche Sprache können neben Ergebnissen auch Ergebnisse mit Konfidenzen, s.g. Hypothesen generieren. Diese Hypothesen spiegeln die Mehrdeutigkeit der natürlichen Sprache wider. Sind Agenten abhängig voneinander, so kann eine falsche Hypothese schnell zu einer Fehlerfortpflanzung in die Hypothesen der abhängigen Agenten führen. Die Exploration von Hypothesen bietet die Chance, die Ergebnisse von Agenten zu verbessern. Diese Arbeit verbessert die Ergebnisse von Agenten eines MAS für NLP durch eine kontrollierte Exploration des Hypothesen-Suchraums. Hierfür wird ein Framework zur Exploration und Bewertung von Hypothesen entwickelt. In einer Evaluation mit drei Agenten konnten vielversprechende Ergebnisse hinsichtlich der Verbesserung erzielt werden. So konnte etwa mit der Top-X Exploration eine durchschnittliche Verbesserung des F1-Maßes des Topic-Detection-Agenten von ursprünglich 40% auf jetzt 49% erreicht werden.  +
The software development process usually involves different artifacts that each describe different parts of the whole software system. Traceability Link Recovery is a technique that aids the development process by establishing relationships between related parts from different artifacts. Artifacts that are expressed in natural language are more difficult for machines to understand and therefore pose a challenge to this link recovery process. A common approach to link elements from different artifacts is to identify similar words using word similarity measures. ArDoCo is a tool that uses word similarity measures to recover trace links between natural language software architecture documentation and formal architectural models. This thesis assesses the effect of different word similarity measures on ArDoCo. The measures are evaluated using multiple case studies. Precision, recall, and encountered challenges for the different measures are reported as part of the evaluation.  +
Log analysis serves as a crucial preprocessing step in text log data analysis, including anomaly detection in cloud system monitoring. However, selecting an optimal log parsing algorithm tailored to a specific task remains problematic. With many algorithms to choose from, each requiring proper parameterization, making an informed decision becomes difficult. Moreover, the selected algorithm is typically applied uniformly across the entire dataset, regardless of the specific data analysis task, often leading to suboptimal results. In this thesis, we evaluate a novel attention-based method for automating the selection of log parsing algorithms, aiming to improve data analysis outcomes. We build on the success of a recent Master Thesis, which introduced this attention-based method and demonstrated its promising results for a specific log parsing algorithm and dataset. The primary objective of our work is to evaluate the effectiveness of this approach across different algorithms and datasets.  +
Die Entwicklung professioneller Software ist aus verschiedenen Gründen eine höchst komplexe Aufgabe: Menschen unterschiedlicher Blickwinkel sind daran beteiligt, die Software zu spezifizieren, zu implementieren, zu testen und zu installieren. Dazu arbeiten diese Teams häufig regional oder zeitlich verteilt. Dies macht Maßnahmen zur Softwarequalität zu einem notwendigen Bestandteil von Softwareentwicklungsprozessen. In dieser Bachelor-Arbeit wurden Werkzeuge und wissenschaftliche Arbeiten zur fortlaufenden Integration untersucht und eine Werkzeugkette aufgebaut, die dieses Prinzip umsetzt. Sie automatisiert neben der Softwareerstellung auch die Testausführung, die Bereitstellung und die Performanzmessung auf verschiedenen Zielsystemen und führt alle Zwischenergebnisse an einer Stelle zusammen. In Zusammenarbeit mit Agilent Technologies wurde eine Benutzerstudie durchgeführt, die aufzeigt, dass die Werkzeugkette eine Funktionalitäts- bzw. Leistungsaussage zu Quellcodeänderungen innerhalb weniger Minuten nach dem Einchecken ermöglicht, was sonst typischerweise Tage bis Wochen benötigt.  +
Ein Problem bei der Anforderungsrückverfolgung ist, dass eine syntaktische Verbindung zwischen Begriffen in Anforderungen und Quelltext oftmals fehlt. Eine Möglichkeit Verknüpfungen dennoch korrekt herzustellen ist die Einbeziehung von Hintergrundwissen, um ein explizites Verständnis der verwendeten Begriffe zu erlangen. Eine in der Computerlinguistik bekannte Quelle für solches Hintergrundwissen über semantische Zusammenhänge ist WordNet. Um jedoch besonders für technische Begriffe eine möglichst vollständige Abdeckung zu erreichen, reicht WordNet alleine als Wissensquelle nicht aus. In dieser Arbeit wird daher ein Ansatz entwickelt, um eine konsolidierte Konzepthierarchie aus mehreren beliebigen Wissensquellen aufzubauen.  +
Bandit algorithms are a family of algorithms that efficiently solve sequential decision problems, like monitoring in a cloud computing system, news recommendations or clinical trials. In such problems there is a trade of between exploring new options and exploiting presumably good ones and bandit algorithms provide theoretical guarantees while being practical. While some approaches use additional information about the current state of the environment, bandit algorithms tend to ignore domain knowledge that can’t be extracted from data. It is not clear how to incorporate domain knowledge into bandit algorithms and how much improvement this yields. In this masters thesis we propose two ways to augment bandit algorithms with domain knowledge: a push approach, which influences the distribution of arms to deal with non-stationarity as well as a group approach, which propagates feedback between similar arms. We conduct synthetic and real world experiments to examine the usefulness of our approaches. Additionally we evaluate the effect of incomplete and incorrect domain knowledge. We show that the group approach helps to reduce exploration time, especially for small number of iterations and plays, and that the push approach outperforms contextual and non-contextual baselines for large context spaces.  +
In der Mathematik gibt es unzählige ungelöste Probleme, welche die Wissenschaft beschäftigen. Dabei stellen sie eine wichtige Aufgabe und Herausforderung dar. Und es wird stetig versucht ihrer Lösung Schritt für Schritt näher zu kommen. Unter diesen bisher noch ungelösten Problemen der Mathematik ist auch das sogenannte „Frankl-Conjecture“ (ebenfalls bekannt unter dem Namen „Union-Closed Set Conjecture“). Diese Vermutung besagt, dass für jede, unter Vereinigung abgeschlossene Familie von Mengen, ein Element existiert, welches in mindestens der Hälfte der Familien-Mengen enthalten ist. Auch diese Arbeit hat das Ziel der Lösung dieses Problems Schritt für Schritt näher zu kommen, oder zumindest hilfreiche neue Werkzeuge für eine spätere Lösung bereitzustellen. Dafür wurde versucht eine Bearbeitung mit Hilfe von Data-Science-Methoden durchzuführen. Dies geschah, indem zunächst möglichst viele Beispiele für das Conjecture zufällig generiert wurden. Anschließend konnten diese generierten Beispiele betrachtet und weiter analysiert werden.  +
Das schnelle und effiziente Lösen von SAT-Instanzen ist für viele Bereiche relevant, zum Beispiel Kryptografie, Scheduling-Algorithmen oder formale Verifikation von Algorithmen. Um die Geschwindigkeit von SAT-Solvern zu evaluieren, gibt es die SAT Competition, in der verschiedene Solver gegeneinander antreten, um Hunderte von SAT-Instanzen zu lösen. Da dies viel Zeit beansprucht, möchten wir eine Methode vorschlagen, die die Anzahl der Instanzen verringert. Indem wir die Instanzen nach Eigenschaften und Laufzeiten clustern, möchten wir eine Benchmark erstellen, die deutlich weniger Instanzen beinhaltet, aber wenig Informationsverlust bietet. Diese evaluieren wir am Ende mithilfe einer „Benchmark“ Competition, wo wir vergleichen, ob die Sieger der SAT Competition auch die „Benchmark“ Competition gewinnen. Zusätzlich möchten wir in dieser Bachelorarbeit auch herausfinden, welche Instanzeigenschaften eine besondere Rolle beim Clustering spielen und ob ein Clustering von Solvern relevant ist.  +
Das schnelle und effiziente Lösen von SAT-Instanzen ist für viele Bereiche relevant, zum Beispiel Kryptografie, Scheduling oder formale Verifikationen. Um die Geschwindigkeit von SAT-Solvern zu evaluieren, gibt es SAT-Instanzenmengen, die die Solver lösen müssen. Diese Instanzenmengen (Benchmarks) bestehen aus Hunderten von unterschiedlichen Instanzen. Um ein repräsentatives Ergebnis zu erhalten, muss eine Benchmark viele unterschiedliche Instanzen haben, da unterschiedliche Solver auf unterschiedlichen Instanzen gut sind. Wir gehen aber davon aus, dass wir Benchmarks erstellen können, die kleiner als die aktuellen Benchmarks sind, die immer noch repräsentative Ergebnisse liefern. In unserer Arbeit stellen wir einen Ansatz vor, der aus einer gegebenen repräsentativen Benchmark eine kleinere Teilmenge wählt, die als repräsentative Benchmark dienen soll. Wir definieren dabei, dass eine Benchmark repräsentativ ist, wenn der Graph der Laufzeiten ein festgelegtes Ähnlichkeitsmaß gegenüber der ursprünglichen Benchmark überschreitet. Wir haben hierbei einen BeamSearch-Algorithmus erforscht. Am Ende stellen wir allerdings fest, dass eine zufällige Auswahl besser ist und eine zufällige Auswahl von 10 % der Instanzen ausreicht, um eine repräsentative Benchmark zu liefern.  +
Metamodelle sind das zentrale Artefakt bei der modellgetriebenen Softwareentwicklung. Obwohl viele Qualitätsattribute und Evaluierungsmechanismen für Metamodelle bekannt sind, ist es noch nicht empirisch untersucht, welche Auswirkungen Metamodelle auf andere Artefakten haben. Die gegenwärtige Ausarbeitung beschäftigt sich mit der Auswirkung von Metamodellen auf andere Artefakte der Softwareentwicklung. Genauer wird untersucht, inwieweit die Qualitätsattribute von Metamodellen die Modellanalysen und die Modelltransformationen beeinflussen. Zu diesem Zweck werden verschiedene Artefakte analysiert – die Ergebnisse aus Metamodell-Metriken, Code-Metriken von Modellanalysen und ATL-Transformationen, sowie manuellen Bewertungen von Metamodellen. Die Daten werden analysiert, Korrelationen werden bestimmt und Abhängigkeiten werden aufgedeckt.  +
Die Softwarearchitekturdokumentation (SAD) ist ein integrales Artefakt eines Softwareprojektes. Um die Qualität von SADs zu verbessern und nachgelagerte Aufgaben zu unterstützen, ist eine automatische Klassifizierung dieser Entwurfsentscheidungen erstrebenswert. In dieser Arbeit implementieren und evaluieren wir einen Ansatz zur automatischen Identifikation und Klassifizierung von Entwurfsentscheidungen auf der Grundlage einer feingranularen Taxonomie, bei der wir eine hierarchische Klassifikationsstrategie mit dem Einsatz von Transfer-Lernen durch vortrainierter Sprachmodelle kombinieren. Der Beitrag dieser Arbeit besteht darin, den Vorteil einer hierarchischen Klassifikationsstrategie für die automatische Klassifikation von Entwurfsentscheidungen gegenüber einem nicht-hierarchischen Ansatz zu untersuchen. Außerdem untersuchen und vergleichen wir die Effektivität verschiedener vortrainierter Sprachmodelle.  +
With existing search strategies, specific paper contents can only be searched indirectly. Keywords are used to describe the searched content as accurately as possible but many of the results are not related to what was searched for. A classification of these contents, if automated, could extend the search process and thereby allow to specify the searched content directly and enhance current state of scholarly communication. In this thesis, we investigated the automatic classification of scientific papers in the Software Engineering domain. In doing so, a classification scheme of paper contents with regard to Research Object, Statement, and Evidence was consolidated. We then investigate in a comparative analysis the machine learning algorithms Naïve Bayes, Support Vector Machine, Multi-Layer Perceptron, Logistic Regression, Decision Tree, and BERT applied to the classification task.  +
In 2018 wird die neue EU Datenschutzverordnung in Kraft treten. Diese Verordnung beinhaltet empfindliche Strafen für Datenschutzverletzungen. Einer der wichtigsten Faktoren für die Einhaltung der Datenschutzverordnung ist die Verarbeitung von Stammdaten von EU-Bürgern innerhalb der EU. Wir haben für diese Regelung eine Privacy Analyse entwickelt, formalisiert, implementiert und evaluiert. Außerdem haben wir mit iObserve Privacy ein System nach dem MAPE Prinzip entwickelt, dass automatisch Datenschutzverletzungen erkennt und eine alternatives, datenschutzkonformes Systemhosting errechnet. Zudem migriert iObserve Privacy die Cloudanwendung entsprechend dem alternativen Hosting automatisch.  +
Data breaches exposing personal information mean a significant loss of customer trust and leave companies vulnerable to civil lawsuits. This makes identifying problems in early development phases an important part of keeping software development costs predictable and manageable. In this thesis, we present approaches that allow system architects to extract legal specifications from artifacts created during system design and analyze them for GDPR compliance. We provide a model transformation between a DFD representation and a GDPR metamodel, which aims to model some of the complex requirements of the GDPR. The transformations work in both directions while keeping additional information to allow the architect to make changes to the system on either the architectural or legal side of the transformation. We provide an analysis tool that is able to identify GDPR violations on the GDPR metamodel, allowing analysis on both sides of the transformation.  +
Mobile devices are strongly resource-constrained in terms of computing and battery capacity. Cyber-foraging systems circumvent these constraints by offloading a task to a more powerful system in close proximity. Offloading itself induces additional workload and thus additional power consumption on the mobile device. Therefore, offloading systems must decide whether to offload or to execute locally. Power models, which estimate the power consumption for a given workload can be helpful to make an informed decision. Recent research has shown that various hardware components such as wireless network interface cards (WNIC), cellular network interface cards or GPS modules have power states, that is, the power consumption behavior of a hardware component depends on the current state. Power models that consider power states (stateful power models) can be modeled as Power State Machines (PSM). For systems with multiple power states, stateful models proved to be more accurate than models that do not consider power states (stateless models). Manually generating PSMs is time-consuming and limits the practicability of PSMs. Therefore, in this thesis, we explore the possibility of automatically generating PSMs. The contribution of this thesis is twofold: (1) We introduce an automated measurementbased profiling approach (2) and we introduce a step-based approach, which, provided with profiling data, automatically extracts PSMs along with tail states and state transitions. We evaluate the automated PSM extraction in a case study on an offloading speech recognition system. We compare the power consumption prediction accuracy of the generated PSM with the prediction accuracy of a stateless regression based model. Because we measure the power consumption of the whole system, we use along with all WiFi power models the same CPU power model in order to predict the power consumption of the whole system. We find that a slightly adapted version of the generated PSM predicts the power consumption with a mean error of approx. 3% and an error of approx. 2% in the best case. In contrast, the regression model produces a mean error of approx. 19% and an error of approx. 18% in the best case.  
In der vorgestellten Arbeit wird das Potential von Large Language Models (LLMs) für die Automatisierung von GUI-Tests in Webanwendungen untersucht, eine Methode, die gegenüber dem traditionellen Ansatz des Monkey-Testing einige Vorteile bietet. Vier leistungsfähige LLMs, nämlich WizardLM, Vicuna (beide basierend auf LLAMA), GPT-3.5-Turbo und GPT-4-Turbo, werden hinsichtlich ihrer Fähigkeit, umfangreiche und relevante Teile des Codes durch Interaktion mit der Benutzeroberfläche auszuführen, evaluiert. Die Evaluation umfasst Tests an einer einfachen, für diese Studie entwickelten Proof-of-Concept-Anwendung sowie an PHPLiteAdmin, einem komplexeren Open-Source-Datenbank-Management-Tool. Die Ergebnisse zeigen, dass insbesondere die GPT-basierten Modelle in bestimmten Szenarien eine höhere Effizienz als der traditionelle Monkey-Tester aufweisen, vor allem bei der Generierung von sinnvollen Texteingaben. Dies unterstreicht das Innovationspotential von LLMs im Bereich der Software-Tests, zeigt aber auch die Herausforderungen und Grenzen auf, die bei der Anwendung auf komplexere Systeme zu erwarten sind. Diese Arbeit leistet somit einen wichtigen Beitrag zur Diskussion über die Weiterentwicklung und Optimierung automatisierter Testverfahren in der Softwareentwicklung.  +
The development of the transformation model also comes with the appropriate system-level testing to verify its changes. Due to the complex nature of the transformation model, the number of tests increases as the structure and feature description become more detailed. However, executing all test cases for every change is costly and time-consuming. Thus, it is necessary to conduct a selection for the transformation tests. In this presentation, you will be introduced to a change-based test prioritization and transformation test selection approach for early fault detection.  +
In systems with a very dynamic process like Industry 4.0, contexts of all participating entities often change and a lot of data exchange happens with external organizations such as suppliers or producers which brings concern about unauthorized data access. This creates the need for access control systems to be able to handle such a combination of a highly dynamic system and the arising concern about the security of data. In many situations the decision for access control depends on the context information of the requester. Another problem of dynamic system is that the manual development of access policies can be time consuming and expensive. Approaches using automated policy generation have shown to reduce this effort. In this master thesis we introduce a concept which combines context based model-driven security with automated policy generation and evaluate if it is a suitable option for the creation of access control systems and if it can reduce the effort in policy generation. The approach makes use of usage and misusage diagrams which are on a high architectural abstraction level to derive and combine access policies for data elements which are located on a lower abstraction level.  +
One of the most important aspects of software engineering is system performance. Common approaches to verify acceptable performance include running load tests on deployed software. However, complicated workflows and requirements like the necessity of deployments and extensive manual analysis of load test results cause tests to be performed very late in the development process, making feedback on potential performance regressions available much later after they were introduced. With this thesis, we propose PeReDeS, an approach that integrates into the development cycle of modern software projects, and explicitly models an automated performance regression detection system that provides feedback quickly and reduces manual effort for setup and load test analysis. PeReDeS is embedded into pipelines for continuous integration, manages the load test execution and lifecycle, processes load test results and makes feedback available to the authoring developer via reports on the coding platform. We further propose a method for detecting deviations in performance on load test results, based on Welch's t-test. The method is adapted to suit the context of performance regression detection, and is integrated into the PeReDeS detection pipeline. We further implemented our approach and evaluated it with an user study and a data-driven study to evaluate the usability and accuracy of our method.  +
GitHub ist eine der beliebtesten Plattformen für kollaboratives Entwickeln von Software-Projekten und ist eine wertvolle Ressource für Software-Entwickler. Die große Anzahl von Projekten, welche auf diesem Dienst zu finden sind, erschwert allerdings die Suche nach relevanten Projekten. Um die Auffindbarkeit von Projekten auf GitHub zu verbessern, wäre es nützlich, wenn diese in Kategorien klassifiziert wären. Diese Informationen könnten in einer Suchmaschine oder einem Empfehlungssystem verwendet werden. Manuelle Klassifikation aller Projekte ist allerdings wegen der großen Anzahl von Projekten nicht praktikabel. Daher ist ein automatisches Klassifikationssystem wünschenswert. Diese Arbeit befasst sich mit der Problematik, ein automatisches Klassifikationssystem für GitHub-Projekte zu entwickeln. Bei der vorgestellten Lösung werden GitHub-Topics verwendet, welches manuelle Klassifikation von GitHub-Projekten sind, welche von den Eigentümern der Projekte vorgenommen wurden. Diese klassifizierten Projekte werden als Trainingsdaten für ein überwachtes Klassifikationssystem verwendet. Somit entfällt die Notwendigkeit, manuell Trainingsdaten zu erstellen. Dies ermöglicht die Klassifikation mit flexiblen Klassenhierarchien. Im Kontext dieser Arbeit wurde ein Software-Projekt entwickelt, welches die Möglichkeit bietet, Trainingsdaten mithilfe der GitHub-API basierend auf GitHub-Topics zu generieren und anschließend mit diesen ein Klassifikationssystem zu trainieren. Durch einen modularen Ansatz können für den Zweck der Klassifikation eine Vielzahl von Vektorisierungs- und Vorhersagemethoden zum Einsatz kommen. Neue Implementierungen solcher Verfahren können ebenfalls leicht eingebunden werden. Das Projekt bietet zudem Schnittstellen für externe Programme, welche es ermöglicht, einen bereits trainierten Klassifikator für weiterführende Zwecke zu verwenden. Die Klassifikationsleistung des untersuchten Ansatzes bietet für Klassenhierarchien, welche sich gut auf GitHub-Topics abbilden lassen, eine bessere Klassifikationsleistung als vorherige Arbeiten. Bei Klassenhierarchien, wo dies nicht der Fall ist, die Klassifikationsleistung hingegen schlechter.  
Automatisierungssysteme sind langlebige, softwaregesteuerte Systeme, die aufgrund wechselnder Anforderungen typischerweise mehrere Evolutionszyklen durchlaufen. Da Automatisierungshardware und Software eng verzahnt sind betreffen Änderungen am System oft beide Bestandteile und Änderungsausbreitung ist von Hand nur schwer nachvollziehbar. KAMP ist ein existierender Ansatz zur automatischen Änderungsausbreitungsanalyse. Hier werden Metamodelle verwendet um Änderungsausbreitung mithilfe von definierten Regeln zu berechnen. Die hier vorgestellte Bachelorarbeit erweitert KAMP mit dem Ziel, von der Architektur dieser Systeme zu abstrahieren und Anforderungen mit einzubeziehen. Somit soll eine Änderungsausbreitungsanalyse auf Basis von Anforderungsänderungen in Automatisierungssystemen unterstützen werden. Um Anforderungen zu formalisieren werden Metamodelle für Anforderungen und Entwurfsentscheidungen eingebunden. Evaluiert wird auf Basis vordefinierter Evolutionsszenarien eines Labormodells einer Automatisierungsanlage (xPPU).  +
Abgekürzte Quelltextbezeichner stellen ein Hindernis bei der Gewinnung von Informationen aus Quelltext dar. Im Rahmen dieser Arbeit werden Abkürzungsauflösungsverfahren entwickelt, um diese abgekürzten Quelltextbezeichner zu den gemeinten, nicht abgekürzten Begriffen aufzulösen. Zum einen wird die Entscheidung für den besten Auflösungskandidaten mittels worteinbettungsbasierten Ähnlichkeitsfunktionen getroffen. Zum anderen werden Trigramm-Grammatiken verwendet, um die Wahrscheinlichkeit eines Auflösungskandidaten zu bestimmen. Die im Rahmen dieser Arbeit entwickelten Verfahren bauen auf zwei Verfahren auf, welche von Alatawi et al. entwickelt wurden. In diesen werden statistische Eigenschaften von Quelltextabkürzungen, sowie Uni- und Bigramm-Grammatiken verwendet, um die Auflösung einer Abkürzung zu bestimmen. Das präziseste der im Rahmen dieser Arbeit entwickelten Verfahren (das Trigramm-basierte) löst auf einem Beispielquelltext, evaluiert gegen eine von Alatawi et al. bereitgestellte Musterlösung, 70,33% der abgekürzten Quelltextbezeichner richtig auf, und ist damit 3,30 Prozentpunkte besser als das nachimplementierte, präziseste Verfahren von Alatawi et al.  +
Nachverfolgbarkeitsverbindungen zwischen Architektur und Quelltext können das Wissen über ein System erweitern. Aufgrund des Erstellungsaufwands existieren in Softwareprojekten oft keine oder nur unvollständige Nachverfolgbarkeitsinformationen. Diese Arbeit untersucht einen Ansatz mit zwei Schritten, um automatisiert Nachverfolgbarkeitsverbindungen zwischen Architekturmodellelementen und Quelltext zu generieren. Damit die Erstellung von Nachverfolgbarkeitsverbindungen für verschiedene Programmiersprachen und Architektur-Metamodelle vereinheitlicht wird, werden im ersten Schritt aus den vorliegenden Artefakten Modelle erstellt. Der Quelltext wird dabei in ein von der konkreten Programmiersprache unabhängiges Modell überführt. Dafür wird ein Metamodell verwendet, das auf dem von der OMG spezifizierten KDM basiert. Für den zweiten Schritt werden auf den erstellten Modellen arbeitende Heuristiken und Aggregationen definiert. Diese werden genutzt, um die Nachverfolgbarkeitsverbindungen zu generieren. Die Heuristiken nutzen zum Beispiel Paket-, Pfad-, Namen- und Methoden-Informationen. Die Evaluation des Ansatzes nutzt einen dafür erstellten Goldstandard mit fünf Fallstudien. Es werden Nachverfolgbarkeitsverbindungen für PCM, UML, Java und Shell generiert. Für den Mikro-Durchschnitt des F1-Maßes wird ein Wert von 99,11 % erreicht. Fließt jede Komponente und Schnittstelle in gleichem Maße in den Wert ein, beträgt das F1-Maß 93,71 %. Insgesamt können mit dem Ansatz dieser Arbeit also sehr gute Ergebnisse erzielt werden. Für die TEAMMATES-Fallstudie wird mithilfe mehrerer Quelltextversionen der Einfluss der Konsistenz auf die Ergebnisse untersucht. Der Mikro-Durchschnitt des F1-Maßes ist für die konsistentere Version um 6,05 Prozentpunkte höher. Die Konsistenz kann also die Qualität der Ergebnisse beeinflussen.  +
Das Testen von Softwareprojekten ist mit einem hohen Arbeitsaufwand verbunden, dies betrifft insbesondere die grafische Benutzeroberfläche. Verfahren der künstlichen Intelligenz auf der Grundlage neuronaler Netzwerke können genutzt werden, um viele der besonders aufwändigen Aufgaben schneller oder sogar besser zu lösen als herkömmliche Methoden. In dieser Arbeit wird ein neuartiges neuronales Netzwerk auf seine Fähigkeit hin untersucht, eine Software allein anhand der Pixeldaten ihrer Benutzeroberfläche zu testen. Des Weiteren wird ein Framework entwickelt, welches mithilfe von leistungsfähigen GPUs den Trainingsvorgang deutlich beschleunigen kann.  +
Software-Testing ist essenziell zur Gewährleistung der Qualität und Funktionalität von Softwareprodukten. Es existieren sowohl manuelle als auch automatisierte Methoden. Allerdings weisen sowohl automatisierte Verfahren als auch menschliche und skriptbasierte Tests bezüglich Kosteneffizienz und Zeitaufwand Einschränkungen auf. Monkey-Testing, gekennzeichnet durch zufällige Klicks auf der Benutzeroberfläche, berücksichtigt dabei oft nicht ausreichend die Logik der Applikation. Diese Bachelorarbeit konzentriert sich auf die automatisierte neuroevolutionäre Testmethode, die neuronale Netze als Testagenten nutzt und diese mittels evolutionärer Algorithmen über mehrere Generationen hinweg verfeinert. Zur Evaluierung dieser Agenten und zum Vergleich mit Monkey-Testing wurde eine simulierte Version einer Passwort-Manager Applikation eingesetzt. Dabei wurde eine Belohnungsstruktur innerhalb der simulierten Anwendung implementiert. Die Ergebnisse verdeutlichen, dass das neuroevolutionäre Testverfahren im Hinblick auf die erzielten Belohnungen im Vergleich zum Monkey-Testing signifikant besser performt. Dies führt zu einer besseren Berücksichtigung der Anwendungslogik im Testprozess.  +
Die Testautomatisierung ist ein entscheidender Schritt zur Steigerung der Softwarequalität und zur Minimierung von Fehlern. Automatisierte Tests können durch die schnelle und effiziente Identifikation und Behebung von Problemen Zeit und Kosten sparen. Ein entscheidender Aspekt der Softwarequalität ist die Benutzeroberfläche, welche die primäre Schnittstelle für den Anwender darstellt. Für diesen Zweck eignen sich explorative Tests, die Anwendungszustände erkunden. Das effiziente Durchforsten der Anwendungszustände gestaltet sich jedoch als Herausforderung, da die Anzahl der möglichen Pfade durch die Anwendung mit jeder zusätzlichen Interaktion exponentiell ansteigt. Ein vielversprechender Ansatz ist der Einsatz von großen Sprachmodellen (LLMs) zur Generierung von Benutzeraktionen. In dieser Arbeit wird dieser Ansatz in einem realistischen Szenario erprobt und untersucht, wie effektiv LLMs darin sind, Zustände zu erreichen, die mit konventionellen Methoden schwer zugänglich sind.  +
B
Outlier detection is a core task of data stream analysis. As such, many algorithms targeting this problem exist, but tend to treat the data as so-called row stream, i.e., observations arrive one at a time with a fixed number of features. However, real-world data often has the form of a feature-evolving stream: Consider the task of analyzing network data in a data center - here, nodes may be added and removed at any time, changing the features of the observed stream. While highly relevant, most existing outlier detection algorithms are not applicable in this setting. Further, increasing the number of features, resulting in high-dimensional data, poses a different set of problems, usually summarized as "the curse of dimensionality". In this thesis, we propose FeLOF, addressing this challenging setting of outlier detection in feature-evolving and high-dimensional data. Our algorithms extends the well-known Local Outlier Factor algorithm to the feature-evolving stream setting. We employ a variation of StreamHash random hashing projections to create a lower-dimensional feature space embedding, thereby mitigating the effects of the curse of dimensionality. To address non-stationary data distributions, we employ a sliding window approach. FeLOF utilizes efficient data structures to speed up search queries and data updates. Extensive experiments show that our algorithm achieves state-of-the-art outlier detection performance in the static, row stream and feature-evolving stream settings on real-world benchmark data. Additionally, we provide an evaluation of our StreamHash adaptation, demonstrating its ability to cope with sparsely populated high-dimensional data.  +
In modern software development, metamodels play an important role as they build the basis for domain-specific modeling languages, which are used for system design, simulation and code generation. Like any artifact in a software-development process, these languages and their respective models need to evolve over time. However, if metamodels that define those languages are badly designed, the evolution process is complicated and therefore additional effort has to be spent for maintenance. Such design problems are considered as a bad smell. Existing approaches to detect smells in metamodels deal mainly with simple defects or focus only on a small number of smells. Therefore, we present a comprehensive investigation of bad smells and antipatterns by reviewing design smells of object-oriented programming and, if possible, transfer them to metamodeling. These smells are in part automatically detectable, thus, we provide tool support with suitable detection methods as an extension for EMF Refactor. We evaluate this approach by testing every automatically detectable smell with appropriate models and an application of the tool support on an already existing large metamodel to evaluate the suggested refactorings.  +
Active Learning strategies reduce the amount of labeled observations required by modern machine learning systems. These strategies find queries consisting of the most useful observations and ask a human user for their classification. Querying batches of multiple observations at once can provide various benefits, but also introduces additional complexity to the query selection process. While such batch query strategies exist for Multi-class Active Learning, previous applications of One-class Active learning were focused on sequential query strategies, where only one observation is labeled at a time. This work provide a categorization of existing batch query strategies for multi-class classification. Based on this categorization, we then propose multiple different batch query strategies for One-class Classification. We evaluate them with extensive experiments to determine, to what extend the concepts from Multi-class strategies work with One-class Classification. We then show how these new batch query strategies for One-class classification can be used to drastically reduce learning time without requiring more labeled observations than the use of previous sequential query strategies.  +
One-class classifiers learn to distinguish normal objects from outliers. These classifiers are therefore suitable for strongly imbalanced class distributions with only a small fraction of outliers. Extensions of one-class classifiers make use of labeled samples to improve classification quality. As this labeling process is often time-consuming, one may use active learning methods to detect samples where obtaining a label from the user is worthwhile, with the goal of reducing the labeling effort to a fraction of the original data set. In the case of one-class active learning this labeling process consists of sequential queries, where the user labels one sample at a time. While batch queries where the user labels multiple samples at a time have potential advantages, for example parallelizing the labeling process, their application has so far been limited to binary and multi-class classification. In this thesis we explore whether batch queries can be used for one-class classification. We strive towards a novel batch query strategy for one-class classification by applying concepts from multi-class classification to the requirements of one-class active learning.  +
Wrapper feature selection can lead to highly accurate classifications. However, the computational costs for this are very high in general. Bayesian Optimization on the other hand has already proven to be very efficient in optimizing black box functions. This approach uses Bayesian Optimization in order to minimize the number of evaluations, i.e. the training of models with different feature subsets. We propose four different ways to set up the objective function for the Bayesian optimization. On 14 different classification datasets the approach is compared against 14 other established feature selection methods, including other wrapper methods, but also filter methods and embedded methods. We use gaussian processes and random forests for the surrogate model. The classifiers which are applied to the selected feature subsets are logistic regression and naive bayes. We compare all the different feature selection methods against each other by comparing their classification accuracies and runtime. Our approach shows to keep up with the most established feature selection methods, but the evaluation also shows that the experimental setup does not value the feature selection enough. Concluding, we give guidelines how an experimental setup can be more appropriate and several concepts are provided of how to develop the Bayesian optimization for wrapper feature selection further.  +
In machine learning, simpler, interpretable models require significantly more training data than complex, opaque models to achieve reliable results. This is a problem when gathering data is a challenging, expensive or time-consuming task. Data synthesis is a useful approach for mitigating these problems. An essential aspect of tabular data is its heterogeneous structure, as it often comes in ``mixed data´´, i.e., it contains both categorical and numerical attributes. Most machine learning methods require the data to be purely numerical. The usual way to deal with this is a categorical encoding. In this thesis, we evaluate a proposed tabular data synthesis pipeline consisting of a categorical encoding, followed by data synthesis and an optional relabeling of the synthetic data by a complex model. This synthetic data is then used to train a simple model. The performance of the simple model is used to quantify the quality of the generated data. We surveyed the current state of research in categorical encoding and tabular data synthesis and performed an extensive benchmark on a motivated selection of encoders and generators.  +
Rückverfolgbarkeitsinformationen zwischen Quelltext und Anforderungen ermöglichen es Werkzeugen Programmierer besser bei der Navigation und der Bearbeitung von Quelltext zu unterstützen. Um solche Verbindungen automatisiert herstellen zu können, muss die Semantik der Anforderungen und des Quelltextes verstanden werden. Im Rahmen dieser Arbeit wird ein Verfahren zur Beschreibung der geteilten Semantik von Gruppierungen von Programmelementen entwickelt. Das Verfahren basiert auf dem statistischen Themenmodell LDA und erzeugt eine Menge von Schlagwörtern als Beschreibung dieser Semantik. Es werden natürlichsprachliche Inhalte im Quelltext der Gruppierungen analysiert und genutzt, um das Modell zu trainieren. Um Unsicherheiten in der Wahl der Parameter von LDA auszugleichen und die Robustheit der Schlagwortmenge zu verbessern, werden mehrere LDA-Modelle kombiniert. Das entwickelte Verfahren wurde im Rahmen einer Nutzerstudie evaluiert. Insgesamt wurde eine durchschnittliche Ausbeute von 0.73 und ein durchschnittlicher F1-Wert von 0.56 erreicht.  +
Das Verständnis der Absicht von Softwareanforderungen ist essenziell für die automatische Generierung von Informationen zur Rückverfolgbarkeit. Funktionale Anforderungen können verschiedene semantische Funktionen, wie die Beschreibung von erwarteten Funktionalitäten oder Zuständen des Systems, beinhalten. Im Rahmen des INDIRECT-Projektes wird ein Werkzeug zur Klassifikation der semantischen Funktion der Sätze in Anforderungsbeschreibungen entwickelt. Dafür werden verschiedene maschinelle Lernverfahren (Stützvektormaschine, Logistische Regression, Random Forest und Naïve Bayes) auf ihre Eignung für diese Aufgabe überprüft. Um ihre Funktionalität zu evaluieren, werden die Verfahren auf einem Datensatz aus frei verfügbaren Anforderungsbeschreibungen getestet, welcher manuell mit semantischen Funktionen etikettiert wurde. Die Ergebnisse zeigen, dass der Random Forest-Klassifikator unter Verwendung von N-Grammen auf Zeichenebene mit einem F1-Maß von 0,79 die beste Leistung auf unbekannten Projekten liefert. Die Lernverfahren werden zusätzlich mittels einer Kreuzvalidierung auf allen vorhandenen Daten getestet. Dabei erzielt die Stützvektormaschine mit einem F1-Maß von 0,90 die besten Ergebnisse, während der Random Forest-Klassifikator ein F1-Maß von 0.89 erreicht.  +
Natürliche Sprache enthält Aktionen, die ausgeführt werden können. Innerhalb eines Diskurses kommt es häufig vor, dass Menschen eine Aktion mehrmals beschreiben. Dies muss nicht immer bedeuten, dass diese Aktion auch mehrmals ausgeführt werden soll. Diese Bachelorarbeit untersucht, wie erkannt werden kann, ob sich eine Nennung einer Aktion auf eine bereits genannte Aktion bezieht. Es wird ein Vorgehen erarbeitet, das feststellt, ob sich mehrere Aktionsnennungen in gesprochener Sprache auf dieselbe Aktionsidentität beziehen. Bei diesem Vorgehen werden Aktionen paarweise verglichen. Das Vorgehen wird als Agent für die Rahmenarchitektur PARSE umgesetzt und evaluiert. Das Werkzeug erzielt ein F1-Maß von 0,8, wenn die Aktionen richtig erkannt werden und Informationen über Korreferenz zwischen Entitäten zur Verfügung stehen.  +
Die Präsentation orientiert sich an meinem Praktikumsbericht zu meinem sechswöchigen Pflichtpraktikum beim Start-Up Unternehmen Morotai. Meine Hauptaufgabe hierbei waren kleine Programmieraufgaben mit HTML, CSS und JavaScript, um die Funktionalität der Website zu verbessern. Ich werde kurz auf das Unternehmen an sich, auf meine Aufgabenstellung in der Abteilung, der Umsetzung dieser und den konkreten Studienbezug (Studiengang Informationswirtschaft) des Praktikums eingehen.  +
Das Messen der Qualität von Datenfluss-Low-Code-Programmen und auch das Erstellen qualitativ hochwertiger Programme ist schwer. Es entstehen viele Programme mit Anzeichen für schlechte Qualität, die zwar Ergebnisse liefern, aber schlecht wartbar und unverständlich sind. Im Laufe dieser Arbeit wurde die Übertragbarkeit, von klassischen Codemetriken und Graphmetriken überprüft und durchgeführt, um zu evaluieren, welche Metriken sich für die Messung der Qualität von Low-Code-Programmen eignen?  +
Erneuerbare Energien wie Photovoltaik-Anlagen stellen für den Privathaushalt eine Möglichkeit dar, eigenen Strom zu produzieren und damit den Geldbeutel sowie die Umwelt zu schonen. Auch in größeren Wohnblocks mit vielen Partien kommen solche Anlagen gemeinschaftlich genutzt zum Einsatz. Der Wunsch, die Nutzung zu optimieren, verleitet dazu, Demand Side Management Strategien zu verwenden. Speziell werden dabei Lastverschiebungen von einzelnen Haushaltsgeräten betrachtet, um die Sonnenenergie besser zu nutzen. Diese Arbeit bewertet verschiedene solcher Lastverschiebungen und ihre lokalen und globalen Effekte auf die Haushalte. Dazu werden verschiedene Modelle für variable Strompreisberechnung, Haushaltssimulation und Umsetzung von Lastverschiebung entworfen und in einem eigens geschriebenen Simulator zur Anwendung gebracht. Ziel dabei ist es, durch verschiedene Experimente, die Auswirkungen auf die Haushalte in ausgewählten Bewertungsmetriken zu erfassen. Es stellt sich heraus, dass es mäßige Sparmöglichkeiten für private Photovoltaik-Nutzer durch Lastverschiebung gibt, die Optimierung jedoch sowohl im lokalen als auch um globalen Bereich aber ein spezifisches Problem darstellt.  +
Moderne Prozessoren erreichen eine Leistungssteigerung durch Hinzufügen mehrerer Kerne. Dadurch muss bei der Softwareentwicklung darauf geachtet werden, die Programmabläufe zu parallelisieren. Einflussfaktoren, die die Leistungsfähigkeit paralleler Programmausführung beeinflussen können, wurden bereits kategorisiert. Der Einfluss der gewählten Parallelisierungsstrategie ist dabei unbekannt. Im Rahmen der Bachelorarbeit wurde der Einfluss der gewählten Parallelisierungsstrategie auf die Leistungsfähigkeit von Software untersucht. Dazu wurden unterschiedliche Hardwareanforderungen genutzt. Mit ihnen wurden einzelne Arbeitspakete generiert. Diese wurden durch verschiedene Parallelisierungsstrategien ausgeführt. Die verwendeten Parallelisierungsstrategien sind: Java Threads, Java ParallelStreams, OpenMp und Akka Actor. Bei jeder Ausführung wurden die Laufzeit und das Cacheverhalten gemessen. Zudem wurden die Experimente auf verschiedenen dezidierten Servern und dem BwUniCluster durchgeführt. Die Auswertungen erfolgten mittels Beschleunigungskurven und der Cache Miss Rate. Die Ergebnisse zeigen, dass sich die Parallelisierungsstrategien bei den verwendeten Arbeitspaketen nur in geringem Maße unterscheiden.  +
Semantic similarity estimation is a widely used and well-researched area. Current state-of-the-art approaches estimate text similarity with large language models. However, semantic similarity estimation often ignores fine-grain differences between semantic similar sentences. This thesis proposes the concept of semantic dimensions to represent fine-grain differences between two sentences. A workshop with domain experts identified ten semantic dimensions. From the workshop insights, a model for semantic dimensions was created. Afterward, 60 participants decided via a survey which semantic dimensions are useful to users. Detectors for the five most useful semantic dimensions were implemented in an extendable framework. To evaluate the semantic dimensions detectors, a dataset of 200 sentence pairs was created. The detectors reached an average F1 score of 0.815.  +
This thesis defnes a blueprint describing a successful ad-hoc deployment with generally applicable rules, thus providing a basis for further developments. The blueprint itself is based on the experience of developing a Continuous Deployment system, the subsequent tests and the continuous user feedback. In order to evaluate the blueprint, the blueprint-based dynamic system was compared with the previously static deployment and a user survey was conducted. The result of the study shows that the rules described in the blueprint have far-reaching consequences and generate an additional value for the users during deployment.  +
C
Algorithms that extract dependencies from data and represent them as causal graphs must also be tested. For such tests, data with a known ground truth is required, but this is rarely available. Generating data under controlled conditions through simulations is expensive and time-consuming. A solution to this problem is to create synthetic datasets, where dependencies are predefined, to evaluate the results of these algorithms. This work focuses on building a framework for the synthesis of data. In the framework, the synthesis process begins with generating a random dependency graph, specifically a directed acyclic graph. Each node in the graph, except the source nodes, has parent nodes and represents a variable. In the next step, each node is populated with predefined random dependencies. A dependency is a model that determines the value of a variable based on its parent variables. From this structure, datasets can be sampled. Users can control the properties of the causal graph through various parameters and choose from multiple types of dependencies, representing different complexity levels. Additionally, the sampling process allows for interactivity by enabling the exchange of dependencies during the sampling process. Dependencies can be exchanged with fixed values, probability distributions, or time series functions. This flexibility provides a robust tool for improving and comparing the mentioned algorithms under various conditions.  +
Particle colliders are a primary method of conducting experiments in particle physics, as they allow to both create short-lived, high-energy particles and observe their properties. The world’s largest particle collider, the Large Hadron Collider (subsequently referred to as LHC), is operated by the European Organization for Nuclear Research (CERN) near Geneva. The operation of this kind of accelerator requires the storage and computationally intensive analysis of large amounts of data. The Worldwide LHC Computing Grid (WLCG), a global computing grid, is being run alongside the LHC to serve this purpose. This Bachelor’s thesis aims to support the creation of an architecture model and simulation for parts of the WLCG infrastructure with the goal of accurately being able to simulate and predict changes in the infrastructure such as the replacement of the load balancing strategies used to distribute the workload between available nodes.  +
Dependency estimation is a crucial task in data analysis and finds applications in, e.g., data understanding, feature selection and clustering. This thesis focuses on Canonical Dependency Analysis, i.e., the task of estimating the dependency between two random vectors, each consisting of an arbitrary amount of random variables. This task is particularly difficult when (1) the dimensionality of those vectors is high, and (2) the dependency is non-linear. We propose Canonical Monte Carlo Dependency Estimation (cMCDE), an extension of Monte Carlo Dependency Estimation (MCDE, Fouché 2019) to solve this task. Using Monte Carlo simulations, cMCDE estimates dependency based on the average discrepancy between empirical conditional distributions. We show that cMCDE inherits the useful properties of MCDE and compare it to existing competitors. We also propose and apply a method to leverage cMCDE for selecting features from very high-dimensional features spaces, demonstrating cMCDE’s practical relevance.  +
Im Laufe der Zeit hat sich die Softwareentwicklung von der Entwicklung von Komplett-systemen zur Entwicklung von Software Komponenten, die in andere Applikation inte- griert werden können,verändert.Bei Software Komponenten handelt es sich um Services, die eine andere Applikation erweitern.Die Applikation wird dabeivonDritten entwickelt. In dieser Bachelorthesis werden die Probleme betrachtet, die bei der Integration von Ser- vices auftreten. Mit einer Umfrage wird das Entwicklungsteam von LogMeIn, welches für die Integration von Services zuständig ist, befragt. Aus deren Erfahrungen werden Probleme ausfndig gemacht und Lösungen dafür entwickelt. Die Probleme und Lösungen werden herausgearbeitet und an hand eines fort laufenden Beispiels, des GoToMeeting Add-ons für den Google Kalender,veranschaulicht.Für die Evaluation wird eine Fallstudie durchgeführt, in der eine GoToMeeting Integration für Slack entwickelt wird. Während dieser Entwicklung treten nicht alle ausgearbeiteten Probleme auf. Jedoch können die Probleme, die auftreten mit den entwickelten Lösungen gelöst werden. Zusätzlich tritt ein neues Problem auf, für das eine neue Lösung entwickelt wird. Das Problem und die zugehörige Lösung werden anschließend zu dem bestehenden Set von Problemen und Lösungen hinzugefügt. Das Hinzufügen des gefundenen Problems ist ein perfektes Beispiel dafür, wie das Set in Zukunft bei neuen Problemen, erweitert werden kann.  +
The data collected in many real-world scenarios such as environmental analysis, manufacturing, and e-commerce are high-dimensional and come as a stream, i.e., data properties evolve over time – a phenomenon known as "concept drift". This brings numerous challenges: data-driven models become outdated, and one is typically interested in detecting specific events, e.g., the critical wear and tear of industrial machines. Hence, it is crucial to detect change, i.e., concept drift, to design a reliable and adaptive predictive system for streaming data. However, existing techniques can only detect "when" a drift occurs and neglect the fact that various drifts may occur in different dimensions, i.e., they do not detect "where" a drift occurs. This is particularly problematic when data streams are high-dimensional. The goal of this Master’s thesis is to develop and evaluate a framework to efficiently and effectively detect “when” and “where” concept drift occurs in high-dimensional data streams. We introduce stream autoencoder windowing (SAW), an approach based on the online training of an autoencoder, while monitoring its reconstruction error via a sliding window of adaptive size. We will evaluate the performance of our method against synthetic data, in which the characteristics of drifts are known. We then show how our method improves the accuracy of existing classifiers for predictive systems compared to benchmarks on real data streams.  +
Data streams are ubiquitous in modern applications such as predictive maintenance or quality control. Data streams can change in unpredictable ways, challenging existing supervised learning algorithms that assume a stationary relationship between input data and labels. Supervised learning algorithms for data streams must therefore "adapt" to changing data distributions. Active learning (AL), a sub-field of supervised learning, aims to reduce the total cost of labeling by identifying the most valuable data points for training. However, existing stream-based AL methods have difficulty adapting to changes in data streams as they rely mainly on the sparsely labeled data and ignore the regionality of changes, resulting in slow change adaptions. To address these issues, this thesis presents an active learning framework for data streams that adapts to regional changes in the underlying data stream. Our idea is to enrich hierarchical data stream clustering with labeling statistics to measure the regionality and relevance of changes. Using such information in stream-based active learning leads to more effective labeling, resulting in faster change adaption.  +
Das Palladio Komponentenmodell (PCM) ermöglicht die Modellierung und Simulation der Qualitätseigenschaften eines Systems aus komponentenbasierter Software und für die Ausführung gewählter Hardware. Stehen dabei bereits Teile des Systems zur Verfügung können diese in die Co-Simulation von Workload, Software und Hardware integriert werden, um weitere Anwendungsgebiete für das PCM zu ermöglichen oder die Anwendung in bestehenden zu verbessern. Die Beiträge dieser Arbeit sind das Erarbeiten von sechs verschiedenen Ansätzen zur Anpassung des PCM für unterschiedliche Anwendungsgebiete und deren Einstufung anhand von Bewertungskriterien. Für den dabei vielversprechendsten Ansatz wurde ein detailliertes Konzept entwickelt und prototypisch umgesetzt. Dieser Ansatz, ein Modell im PCM mittels einer feingranularen Hardwaresimulation zu parametrisieren, wird in Form des Prototyps bezüglich seiner Umsetzbarkeit, Erweiterbarkeit und Vollständigkeit evaluiert. Die Evaluation der prototypischen Umsetzung erfolgt unter anderem anhand der Kriterien Benutzbarkeit, Genauigkeit und Performance, die in Relation zum PCM betrachtet werden. Der Prototyp ermöglicht die Ausführung einer Hardwaresimulation mit im PCM spezifizierten Parametern, die Extraktion dabei gemessener Leistungsmerkmale und deren direkte Verwendung in einer Simulation des PCM.  +
In data analysis, entity matching (EM) or entity resolution is the task of finding the same entity within different data sources. When joining different data sets, it is a required step where the same entities may not always share a common identifier. When applied to graph data like knowledge graphs, ontologies, or abstractions of physical systems, the additional challenge of entity relationships comes into play. Now, not just the entities themselves but also their relationships and, therefore, their neighborhoods need to match. These relationships can also be used to our advantage, which builds the foundation for collective entity matching (CEM). In this bachelor thesis, we focus on a graph data set based on a material simulation with the intent to match entities between neighboring system states. The goal is to identify structures that evolve over time and link their states with a common identifier. Current CEM Algorithms assume perfect matches to be possible, i.e., every entity can be matched. We want to overcome this challenge and address the high imbalance of potential candidates and impossible matches. A third major challenge is the large volumes of data which requires our algorithm to be efficient.  +
An der Entwicklung komplexer Systeme sind viele Teams aus verschiedenen Disziplinen vertreten. So sind zum Beispiel an der Entwicklung einer sicherheitskritischen Systemarchitektur mindestens ein Systemarchitekt als auch ein Sicherheitsexperte beteiligt. Die Aufgabe des ersteren ist es, eine Systemarchitektur zu entwickeln, welche alle funktionalen und nicht-funktionalen Anforderungen erfüllt. Der Sicherheitsexperte analysiert diese Architektur und trägt so zum Nachweis bei, dass das System die geforderten Sicherheitsanforderungen erfüllt. Sicherheit steht hierbei für die Gefahrlosigkeit des Nutzers und der Umwelt durch das System (Safety). Um ihr Ziel zu erreichen, folgen sowohl der Systemarchitekt als auch der Sicherheitsexperte einem eigenen Vorgehensmodell. Aufgrund fehlender Interaktionspunkte müssen beide unabhängig voneinander und unkoordiniert durchgeführt werden. Dies kann zu Inkonsistenzen zwischen Architektur- und Sicherheitsartefakten führen und zusätzlichen Aufwand verursachen, was sich wiederum negativ auf die Entwicklungszeit und Qualität auswirkt. In dieser Arbeit kombinieren wir zwei ausgewählte Vorgehensmodelle zu einem neuen, einzelnen Vorgehensmodell. Die Kombination erfolgt auf Basis des identifizierten Informationsflusses innerhalb und zwischen den ursprünglichen zwei Vorgehensmodellen. Durch die Kombination werden die Vorteile beider Ansätze übernommen und die zuvor genannten Probleme angegangen. Bei den zwei ausgewählten Vorgehensmodellen handelt es sich um den Harmony-Ansatz von IBM und die ISO-Norm 26262. Ersterer erlaubt es eine Systemarchitektur systematisch und modellbasiert mit SysML zu entwickeln, während die ISO-Norm dem Sicherheitsexperten bei seiner Arbeit bezüglich der funktionalen Sicherheit in Straßenfahrzeugen unterstützt. Die Evaluation unseres Ansatzes zeigt dessen Anwendbarkeit im Rahmen einer realen Fallstudie. Außerdem werden dessen Vorteile bezüglich Konsistenz zwischen Architektur- und Sicherheitsartefakten und Durchführungszeit diskutiert, basierend auf einem Vergleich mit ähnlichen Ansätzen.  
Architecture-level performance models, for instance, the PCM, allow performance predictions to evaluate and compare design alternatives. However, software architectures drift over time so that initially created performance models are out-to-date fast due to the required manual high effort to keep them up-to-date. To close the gap between the development and having up-to-date performance models, the Continuous Integration of Performance Models (CIPM) approach has been proposed. It incorporates automatically executed activities into a Continuous Integration pipeline and is realized with Vitruvius combining Java and the PCM. As a consequence, changes from a commit are extracted to incrementally update the models in the VSUM. To estimate the resource demand in the PCM, the CIPM approach adaptively instruments and monitors the source code. In previous work, parts of the CIPM pipeline were prototypically implemented and partly evaluated with artificial projects. A pipeline combining the incremental model update and the adaptive instrumentation is absent. Therefore, this thesis presents the combined pipeline adapting and extending the existing implementations. The evaluation is performed with the TeaStore and indicates the correct model update and instrumentation. Nevertheless, there is a gap towards the calibration pipeline.  +
The passing of new regulations like the European GDPR has clarified that in the future it will be necessary to build privacy-preserving systems to protect the personal data of its users. This thesis will introduce the concept of privacy templates to help software designers and architects in this matter. Privacy templates are at their core similar to design patterns and provide reusable and general architectural structures which can be used in the design of systems to improve privacy in early stages of design. In this thesis we will conceptualize a small collection of privacy templates to make it easier to design privacy-preserving software systems. Furthermore, the privacy templates will be categorized and evaluated to classify them and assess their quality across different quality dimensions.  +
Im Zeitalter des Cloud Computings und der Big Data existieren Software-Telemetriedaten im Überfluß. Die schiere Menge an Daten und Datenplattformen kann allerdings zu Problemen in ihrer Handhabung führen. In dieser Masterarbeit wird ein Laufzeitmodell vorgestellt, welches es ermöglicht, Messungen von Telemetriedaten auf verschiedenen Datenplatformen durchzuführen. Hierbei folgt das Modell dem vollen Lebenszyklus einer Messung von der Definition durch eine eigens hierfür entwickelte domänenspezifischen Sprache, bis zur Visualisierung der resultierenden Messwerte. Das Modell wurde bei dem Software-as-a-Service-Unternehmen LogMeIn implementiert und getestet. Hierbei wurde eine Evaluation hinsichtlich der Akzeptanz des implementierten Dienstes bei der vermuteten Zielgruppe anhand einer Nutzerstudie innerhalb des Unternehmens durchgeführt.  +
While large language models have succeeded in generating code, the struggle is to modify large existing code bases. The Generated Code Alteration (GCA) process is designed, implemented, and evaluated in this thesis. The GCA process can automatically modify a large existing code base, given a natural language task. Different variations and instantiations of the process are evaluated in an industrial case study. The code generated by the GCA process is compared to code written by human developers. The language model-based GCA process was able to generate 13.3 lines per error, while the human baseline generated 65.8 lines per error. While the generated code did not match the overall human performance in modifying large code bases, it could still provide assistance to human developers.  +
In Industry 4.0 environments highly dynamic and flexible access control strategies are needed. State of the art strategies are often not included in the modelling process but must be considered afterwards. This makes it very difficult to analyse the security properties of a system. In the framework of the Trust 4.0 project the confidentiality analysis tries to solve this problem using a context-based approach. Thus, there is a security model named “context metamodel”. Another important problem is that the transformation of an instance of a security model to a wide-spread access control standard is often not possible. This is also the case for the context metamodel. Moreover, another transformation which is very interesting to consider is one to an ensemble based component system which is also presented in the Trust 4.0 project. This thesis introduces an extension to the beforementioned context metamodel in order to add more extensibility to it. Furthermore, the thesis deals with the creation of a concept and an implementation of the transformations mentioned above. For that purpose, at first, the transformation to the attribute-based access control standard XACML is considered. Thereafter, the transformation from XACML to an ensemble based component system is covered. The evaluation indicated that the model can be used for use cases in Industry 4.0 scenarios. Moreover, it also indicated the transformations produce adequately accurate access policies. Furthermore, the scalability evaluation indicated linear runtime behaviour of the implementations of both transformations for respectively higher number of input contexts or XACML rules.  +
Architecture-level performance models of software like the PCM can aid with the development of the software by preventing architecture degradation and helping to diagnose performance issues during the implementation phase. Previously, manual intervention was required to create and update such models. The CIPM approach can be employed to automatically make a calibrated PCM instance available during the development of software. A prototypical implementation of the CIPM approach targets microservice-based web applications implemented in Java. No implementations for other programming languages exist and the process of adapting the CIPM approach to support another programming language has previously not been explored. We present an approach to adapting CIPM to support Lua-based sensor applications. A prototypical implementation of the adapted approach was evaluated using real-world Lua-based sensor applications from the SICK AppSpace ecosystem. The evaluation demonstrates the feasibility of the adapted approach, but also reveals minor technical issues with the implementation.  +
In software engineering, software architecture documentation plays an important role. It contains many essential information regarding reasoning and design decisions. Therefore, many activities are proposed to deal with documentation for various reasons, e.g., extract- ing information or keeping different forms of documentation consistent. These activities often involve automatic processing of documentation, for example traceability link recovery (TLR). However, there can be problems for automatic processing when coreferences are present in documentation. A coreference occurs when two or more mentions refer to the same entity. These mentions can be different and create ambiguities, for example when there are pronouns. To overcome this problem, this thesis proposes two contributions to resolve coreferences in software architecture documentation. The first contribution is to explore the performance of existing coreference resolution models for software architecture documentation. The second is to divide coreference resolution into many more specific type of resolutions, like pronoun resolution, abbreviation resolution, etc.  +
To evaluate the loss of cognitive ML models, e.g., text or image classifier, accurately, one usually needs a lot of test data which are annotated manually by experts. In order to estimate accurately, the test data should be representative or else it would be hard to assess whether a model overfits, i.e., it uses spurious features of the images significantly to decide on its predictions.With techniques such as Feature Attribution, one can then compare important features that the model sees with their own expectations and can therefore be more confident whether or not he should trust the model. In this work, we propose a method that estimates the loss of image classifiers based on Feature-Attribution techniques. We use the classic approach for loss estimate as our benchmark to evaluate our proposed method. At the end of this work, our analysis reveals that our proposed method seems to have a similar loss estimate to that of the classic approach with a good image classifer and a representative test data. Based on our experiment, we expect that our proposed method could give a better loss estimate than the classic approach in cases where one has a biased test data and an image classifier which overfits.  +
Conventional evaluation of an ML classifier uses test data to estimate its expected loss. For "cognitive" ML tasks like image or text classification, this requires that experts annotate a large and representative test data set, which can be expensive. In this thesis, we explore another approach for estimating the expected loss of an ML classifier. The aim is to enhance test data with additional expert knowledge. Inspired by recent feature attribution techniques, such as LIME or Saliency Maps, the idea is that experts annotate inputs not only with desired classes, but also with desired feature attributions. We then explore different methods to derive a large conventional test data set based on few such feature attribution annotations. We empirically evaluate the loss estimates of our approach against ground-truth estimates on large existing test data sets, with a focus on the tradeoff between the number of expert annotations and the achieved estimation accuracy.  +
Students are confronted with a huge amount of regulations when planning their studies at a university. It is challenging for them to create a personalized study plan while still complying to all official rules. The STUDYplan software aims to overcome the difficulties by enabling an intuitive and individual modeling of study plans. A study plan can be interpreted as a sequence of business process tasks that indicate courses to make use of existing work in the business process domain. This thesis focuses on the idea of synthesizing business process models from declarative specifications that indicate official and user-defined regulations for a study plan. We provide an elaborated approach for the modeling of study plan constraints and a generation concept specialized to study plans. This work motivates, discusses, partially implements and evaluates the proposed approach.  +
D
Te prediction of material failure is useful in many industrial contexts such as predictive maintenance, where it helps reducing costs by preventing outages. However, failure prediction is a complex task. Typically, material scientists need to create a physical material model to run computer simulations. In real-world scenarios, the creation of such models is ofen not feasible, as the measurement of exact material parameters is too expensive. Material scientists can use material models to generate simulation data. Tese data sets are multivariate sensor value time series. In this thesis we develop data-driven models to predict upcoming failure of an observed material. We identify and implement recurrent neural network architectures, as recent research indicated that these are well suited for predictions on time series. We compare the prediction performance with traditional models that do not directly predict on time series but involve an additional step of feature calculation. Finally, we analyze the predictions to fnd abstractions in the underlying material model that lead to unrealistic simulation data and thus impede accurate failure prediction. Knowing such abstractions empowers material scientists to refne the simulation models. The updated models would then contain more relevant information and make failure prediction more precise.  +
Data flow is becoming more and more important for business processes over the last few years. Nevertheless, data in workflows is often considered as second-class object and is not sufficiently supported. In many domains, such as the energy market, the importance of compliance requirements stemming form legal regulations or specific standards has dramatically increased over the past few years. To be broadly applicable, compliance verification has to support data-aware compliance rules as well as to consider data conditions within a process model. In this thesis we model the data-flow of data objects for a scenario in the energy market domain. For this purpose we use a scientific workflow management system, namely the Apache Taverna. We will then insure the correctness of the data flow of the process model. The theoretical starting point for this thesis is a verification approach of the supervisors of this thesis. It formalizes BPMN process models by mapping them to Petri Nets and unfolding the execution semantics regarding data. We develop an algorithm for transforming Taverna workflows to BPMN 2.0. We then ensure the correctness of the data-flow of the process model. For this purpose we analyse which compliance rules are relevant for the data objects and how to specify them using anti-patterns.  +
Static Code Analysis (SCA) has become an integral part of modern software development, especially since the rise of automation in the form of CI/CD. It is an ongoing question of how machine learning can best help improve SCA's state and thus facilitate maintainable, correct, and secure software. However, machine learning needs a solid foundation to learn on. This thesis proposes an approach to build that foundation by mining data on software issues from real-world code. We show how we used that concept to analyze over 4000 software packages and generate over two million issue samples. Additionally, we propose a method for refining this data and apply it to an existing machine learning SCA approach.  +
A group of people with diferent personal preferences wants to fnd a solution to a problem with high variability. Making decisions in the group comes with problems as a lack of communication leads to worse decision outcomes. Group dynamics and biases can lead to suboptimal decisions. Generally group decisions are complex and often the process that yields the decision result is unstructured, thereby not providing any reproducibility of the success. Groups have different power structures and usually individuals have diferent interests. Moreover finding solutions is a rather complex task and group decisions can sufer intransparency. To support groups in their decision making product confguration can be used. It allows to accurately map constraints and dependencies in complex problems and to map the solution space. Using a group recommender a group is supported in their confguration decisions. The goal is to show that these approaches can help a group with the confguration task presented by the usage of a configurator and to better process individual preferences than a human can. The benefts of this approach are, that the need for a group to communicate directly is reduced. Each user gives their own preferences and the group will get a recommendation based on that. This allows to reduce problems arising in groups decisions like lack of communication and bias in groups. Additionally this shows the viability of combining group recommendations and configuration approaches.  +
Consistency preservation between two metamodels can be achieved by defining a model transformation that repairs inconsistencies. In that case, there exists a consistency relation between metamodels. When there are multiple interrelated metamodels, consistency relations form a network. In multi-model consistency preservation, we are interested in methods to preserve consistency in a network of consistency relations. However, combinations of binary transformations can lead to specific interoperability issues. The purpose of this thesis is the decomposition of relations, an optimization technique for consistency relation networks. In this thesis, we design a decomposition procedure to detect independent and redundant subsets of consistency relations. The procedure aims to help developers find incompatibilities in consistency relation networks.  +
Outlier detection algorithms are widely used in application fields such as image processing and fraud detection. Thus, during the past years, many different outlier detection algorithms were developed. While a lot of work has been put into comparing the efficiency of these algorithms, comparing methods in terms of effectiveness is rather difficult. One reason for that is the lack of commonly agreed-upon benchmark data. In this thesis the effectiveness of density-based outlier detection algorithms (such as KNN, LOF and related methods) on entirely synthetically generated data are compared, using its underlying density as ground truth.  +
Outlier detection is a popular topic in research, with a number of different approaches developed. Evaluating the effectiveness of these approaches however is a rather rarely touched field. The lack of commonly accepted benchmark data most likely is one of the obstacles for running a fair comparison of unsupervised outlier detection algorithms. This thesis compares the effectiveness of twelve density-based outlier detection algorithms in nearly 800.000 experiments over a broad range of algorithm parameters using the probability density as ground truth.  +
In view-based software development, views may share concepts and thus contain redundant or dependent information. Keeping the individual views synchronized is a crucial property to avoid inconsistencies in the system. In approaches based on a Single Underlying Model (SUM), inconsistencies are avoided by establishing the SUM as a single source of truth from which views are projected. To synchronize updates from views to the SUM, delta-based consistency preservation is commonly applied. This requires the views to provide fine-grained change sequences which are used to incrementally update the SUM. However, the functionality of providing these change sequences is rarely found in real-world applications. Instead, only state-based differences are persisted. Therefore, it is desirable to also support views which provide state-based differences in delta-based consistency preservation. This can be achieved by estimating the fine-grained change sequences from the state-based differences. This thesis evaluates the quality of estimated change sequences in the context of model consistency preservation. To derive such sequences, matching elements across the compared models need to be identified and their differences need to be computed. We evaluate a sequence derivation strategy that matches elements based on their unique identifier and one that establishes a similarity metric between elements based on the elements’ features. As an evaluation baseline, different test suites are created. Each test consists of an initial and changed version of both a UML class diagram and consistent Java source code. Using the different strategies, we derive and propagate change sequences based on the state-based difference of the UML view and evaluate the outcome in both domains. The results show that the identity-based matching strategy is able to derive the correct change sequence in almost all (97 %) of the considered cases. For the similarity-based matching strategy we identify two reoccurring error patterns across different test suites. To address these patterns, we provide an extended similarity-based matching strategy that is able to reduce the occurrence frequency of the error patterns while introducing almost no performance overhead.  
Twitter has been identified as a relevant data source for modelling purposes in the last decade. In this work, our goal was to model the conversational dynamics of inflation development in Germany through Twitter Data Mining. To accomplish this, we summarized and compared Twitter data mining techniques for time series data from pertinent research. Then, we constructed five models for generating time series from topic-related tweets and user profiles of the last 15 years. Evaluating the models, we observed that several approaches like modelling for user impact or adjusting for automated twitter accounts show promise. Yet, in the scenario of modelling inflation expectation dynamics, these more complex models could not contribute to a higher correlation between German CPI and the resulting time series compared to a baseline approach.  +
Die Spezifikation eines software-intensiven Systems umfasst eine Vielzahl von Artefakten. Diese Artefakte sind nicht unabhängig voneinander, sondern stellen die gleichen Elemente des Systems in unterschiedlichen Kontexten und Repräsentationen dar. In dieser Arbeit wurde im Rahmen einer Fallstudie ein neuer Ansatz untersucht, mit dem sich diese Überschneidungen von Artefakten konsistent halten lassen. Die Idee ist es, die Gemeinsamkeiten der Artefakte explizit zu modellieren und Änderungen über ein Zwischenmodell dieser Gemeinsamkeiten zwischen Artefakten zu übertragen. Der Ansatz verspricht eine bessere Verständlichkeit der Abhängigkeiten zwischen Artefakten und löst einige Probleme bisheriger Ansätze für deren Konsistenzerhaltung. Für die Umsetzung der Fallstudie wurde eine Sprache weiterentwickelt, mit der sich die Gemeinsamkeiten und deren Manifestationen in den verschiedenen Artefakten ausdrücken lassen. Wir konnten einige grundlegende Funktionalitäten der Sprache ergänzen und damit 64% der Konsistenzbeziehungen in unserer Fallstudie umsetzen. Für die restlichen Konsistenzbeziehungen müssen weitere Anpassungen an der Sprache vorgenommen werden. Für die Evaluation der generellen Anwendbarkeit des Ansatzes sind zusätzliche Fallstudien nötig.  +
In the early stages of developing a software architecture, many properties of the final system are yet unknown, or difficult to determine. There may be multiple viable architectures, but uncertainty about which architecture performs the best. Software architects can use Design Space Exploration to evaluate quality properties of architecture candidates to find the optimal solution. Design Space Exploration can be a resource intensive process. An architecture candidate may feature certain properties which disqualify it from consideration as an optimal candidate, regardless of its quality metrics. An example for this would be confidentiality violations in data flows introduced by certain components or combinations of components in the architecture. If these properties can be identified early, quality evaluation can be skipped and the candidate discarded, saving resources. Currently, analyses for identifying such properties are performed disjunct from the design space exploration process. Optimal candidates are determined first, and analyses are then applied to singular architecture candidates. Our approach augments the PerOpteryx design space exploration pipeline with an additional architecture candidate filter stage, which allows existing generic candidate analyses to be integrated into the DSE process. This enables automatic execution of analyses on architecture candidates during DSE, and early discarding of unwanted candidates before quality evaluation takes place. We use our filter stage to perform data flow confidentiality analyses on architecture candidates, and further provide a set of example analyses that can be used with the filter. We evaluate our approach by running PerOpteryx on case studies with our filter enabled. Our results indicate that the filter stage works as expected, able to analyze architecture candidates and skip quality evaluation for unwanted candidates.  +
Die Arbeit entwickelt einen Ansatz, der die automatische Adaption mit Fokus auf die Leistungsoptimierung mit einem Ansatz zur Bedienerintegration vereint. Der Ansatz verwendt automatischen Entwurfsraumexploration, um Laufzeit-Architekturmodelle der Anwendung zu optimieren und mit einem Modell-basierten Ansatz zur Adaptionsplanung und -ausführung zu kombinieren, der Bedienereingrife während der Adaptionsausführung ermöglicht.  +
Business Process Model and Notation (BPMN) is a standard language to specify business process models. It helps organizations around the world to analyze, improve and automate their processes. It is very important to make sure that those models are correct, as faulty models can do more harm than good. While many verification methods for BPMN concentrate only on control flow, the importance of correct data flow is often neglected. Additionally the few approaches tackling this problem, only do it on a surface level ignoring certain important aspects, such as data states. Because data objects with states can cause different types of errors than data objects without them, ignoring data states can lead to overlooking certain mistakes. This thesis tries to address the problem of detecting data flow errors on the level of data states, while also taking optional data and alternative data into account. We propose a new transformation for BPMN models to Petri Nets and specify suitable anti-patterns. Using a model checker, we are then capable of automatically detecting data flow errors regarding data states. In combination with existing approaches, which detect control flow errors or data flow errors on the level of data values, business process designers will be able to prove with a higher certainty that their models are actually flawless.  +
Using outlier detection algorithms, e.g., Support Vector Data Description (SVDD), for detecting outlying time-series usually requires extracting domain-specific attributes. However, this indirect way needs expert knowledge, making SVDD impractical for many real-world use cases. Incorporating "Global Alignment Kernels" directly into SVDD to compute the distance between time-series data bypasses the attribute-extraction step and makes the application of SVDD independent of the underlying domain. In this work, we propose a new time-series outlier detection algorithm, combining "Global Alignment Kernels" and SVDD. Its outlier detection capabilities will be evaluated on synthetic data as well as on real-world data sets. Additionally, our approach's performance will be compared to state-of-the-art methods for outlier detection, especially with regard to the types of detected outliers.  +
Detecting outlying time-series poses two challenges: First, labeled training data is rare, as it is costly and error-prone to obtain. Second, algorithms usually rely on distance metrics, which are not readily applicable to time-series data. To address the first challenge, one usually employs unsupervised algorithms. To address the second challenge, existing algorithms employ a feature-extraction step and apply the distance metrics to the extracted features instead. However, feature extraction requires expert knowledge, rendering this approach also costly and time-consuming. In this thesis, we propose GAK-SVDD. We combine the well-known SVDD algorithm to detect outliers in an unsupervised fashion with Global Alignment Kernels (GAK), bypassing the feature-extraction step. We evaluate GAK-SVDD's performance on 28 standard benchmark data sets and show that it is on par with its closest competitors. Comparing GAK with a DTW-based kernel, GAK improves the median Balanced Accuracy by 4%. Additionally, we extend our method to the active learning setting and examine the combination of GAK and domain-independent attributes.  +
This thesis focuses on the development of a database application that enables a comparative analysis between the Google Books Ngram Corpus(GBNC) and a German news corpora. The GBNC provides a vast collection of books spanning various time periods, while the German news corpora encompass up-to-date linguistic data from news sources. Such comparison aims to uncover insights into language usage patterns, linguistic evolution, and cultural shifts within the German language. Extracting meaningful insights from the compared corpora requires various linguistic metrics, statistical analyses and visualization techniques. By identifying patterns, trends and linguistic changes we can uncover valuable information on language usage evolution over time. This thesis provides a comprehensive framework for comparing the GBNC to other corpora, showcasing the development of a database application that enables not only valuable linguistic analyses but also shed light on the composition of the GBNC by highlighting linguistic similarities and differences.  +
In the last decade, ample research has been produced regarding the value of user-generated data from microblogs as a basis for time series analysis in various fields.In this context, the objective of this thesis is to develop a domain-agnostic framework for mining microblog data (i.e., Twitter). Taking the subject related postings of a time series (e.g., inflation) as its input, the framework will generate temporal data sets that can serve as basis for time series analysis of the given target time series (e.g., inflation rate). To accomplish this, we will analyze and summarize the prevalent research related to microblog data-based forecasting and analysis, with a focus on the data processing and mining approach. Based on the findings, one or several candidate frameworks are developed and evaluated by testing the correlation of their generated data sets against the target time series they are generated for. While summative research on microblog data-based correlation analysis exists, it is mainly focused on summarizing the state of the field. This thesis adds to the body of research by applying summarized findings and generating experimental evidence regarding the generalizability of microblog data mining approaches and their effectiveness.  +
There are many data structures and indices that speed up kNN queries on time series. The existing indices are designed to work on the full time series only. In this thesis we develop a data structure that allows speeding up kNN queries in an arbitrary time range, i.e. for an arbitrary subsequence.  +
In One-Class classification, the classifier decides if points belong to a specific class. In this thesis, we propose an One-Class classification approach, suitable for active learning, that models for each point, a prediction range in which the model assumes the points state to be. The proposed classifier uses a Gaussian process. We use the Gaussian processes prediction range to derive a certainty measure, that considers the available labeled points for stating its certainty. We compared this approach against baseline classifiers and show the correlation between the classifier's uncertainty and misclassification ratio.  +
HYBRID: This Proposal will be online AND in the seminar room 348. When working with large data sets, in many situations one has to deals with a large set data from a single class and only few negative examples from other classes. Learning classifiers, which can assign data points to one of the groups, is known as one-class classification (OCC) or outlier detection. The objective of this thesis is to develop and evaluate an active learning process to train an OCC. The process uses domain knowledge to reasonably adopt a prior distribution. Knowing that prior distribution, query strategies will be evaluated, which consider the certainty, more detailed the uncertainty, of the estimated class membership scorings. The integration of the prior distribution and the estimation of uncertainty, will be modeled using a gaussian process.  +
Ziel der Arbeit ist die Beschreibung von Simulatoren und deren Vergleich. Damit Simulatoren beschrieben werden können ist es notwendig die Elemente zu identifizieren, die in Summ eine vollständige Beschreibung eines Simulators ermöglicht. Basierend auf der Beschreibung werden dann Vergleichsmöglichkeiten entwickelt, sodass beschriebene Simulatoren miteinander Verglichen werden können. Der Vergleich dient der Ermittlung der Ähnlichkeit von Simulatoren. Da die Ähnlichkeit zwischen Simulatoren nicht allgemeingültig definierbar ist, ist auch Teil der Arbeit diese Ähnlichkeitsmaße zu definieren und zu beschreiben. Im Fokus dieser Arbeit sind diskrete ereignisorientierte Simulatoren. Das übergeordnete Ziel ist das wiederfinden von Simulatoren in bereits bestehenden Simulationen um die Wiederverwendung zu ermöglichen. Daher ist das Ziel die Vergleichsmöglichkeiten dahingehend zu entwickeln, dass auch Teile von Simulationen wiedergefunden werden können. Das entwickelte Tool DesComp implementiert sowohl die Möglichkeit der Beschreibung als auch die notwendigen Verfahren für den Vergleich von Simulatoren. Für die Evaluation der Eignung der entwickelten Verfahren wird eine Fallstudie anhand des Simulators EventSim durchgeführt.  +
Mit Smart Metern erfasste Datenströme stellen eine Gefahr für die Privatheit dar, sodass Bedarf für Privatheitsverfahren besteht. Aktueller Stand der Technik für Datenströme ist w-event differential privacy. Dies wurde bisher v.a. für die Publikation von Histogram-Queries verwendet. Ziel dieser Arbeit ist die eingehende experimentelle Analyse der Mechanismen, mit dem Fokus darauf zu beurteilen, wie gut diese Mechanismen sich für die Publikation von Sum-Queries, wie sie im Smart Meter Szenario gebraucht werden, eignen. Die Arbeit besteht aus drei Teilen: (1) Reproduktion der in der Literatur propagierten guten Ergebnisse der wichtigsten w-event DP Mechanismen für Histogram-Queries, (2) Evaluierung deren Qualität bei Anwendung auf Smart Meter Daten (Sum-Queries), (3) Evaluierung der Qualität zweier Mechanismen bzgl. der Gewährleistung von Pan-Privacy, einer erweiterten Garantie. Während wir in (1) die Ergebnisse größtenteils nicht reproduzieren konnten, erzielten wir in (2) gute Ergebnisse. Bzgl. (3) gelang es uns, die theoretische Qualitätsanalyse aus der Literatur zu bestätigen.  +
The main goal knowledge discovery focusses is, an increase of knowledge using some set of data. In many cases it is crucial that results are human-comprehensible. Subdividing the feature space into boxes with unique characteristics is a commonly used approach for achieving this goal. The patient-rule-induction method (PRIM) extracts such "interesting" hyperboxes from a dataset by generating boxes that maximize some class occurrence inside of it. However, the quality of the results varies when applied to small datasets. This work will examine to which extent data-generators can be used to artificially increase the amount of available data in order to improve the accuracy of the results. Secondly, it it will be tested if probabilistic classification can improve the results when using generated data.  +
In today's connected world, exchanging data is essential to many business applications. In order to cope with security requirements early, design time data flow analyses have been proposed. These approaches transform the modeled architecture into underlying formalisms such as logic programs. Constraints that check requirements often have to be formulated in terms of the underlying formalism. This requires architects to know about the formalism, the transformed architecture and the verification environment. We aim to bridge this gap between the architectural domain and the underlying formalism. We propose a domain-specific language (DSL) which enables architects to define individual constraints in terms of the architecture. Our approach maps the constraints and results between the architectural and the formalism automatically. Our evaluation indicates good overall expressiveness, usability and space efficiency for different sized data flow restrictions.  +
Standard, data-driven machine learning approaches learn relevant patterns solely from data. In some fields however, learning only from data is not sufficient. A prominent example for this is healthcare, where the problem of data insufficiency for rare diseases is tackled by integrating high-quality domain knowledge into the machine learning process. Despite the existing work in the healthcare context, making general observations about the impact of domain knowledge is difficult, as different publications use different knowledge types, prediction tasks and model architectures. It further remains unclear if the findings in healthcare are transferable to other use-cases, as well as how much intellectual effort this requires. With this Thesis we introduce DomainML, a modular framework to evaluate the impact of domain knowledge on different data science tasks. We demonstrate the transferability and flexibility of DomainML by applying the concepts from healthcare to a cloud system monitoring. We then observe how domain knowledge impacts the model’s prediction performance across both domains, and suggest how DomainML could further be used to refine both the given domain knowledge as well as the quality of the underlying dataset.  +
Developing and approach for dynamic adaptation to service usage policies.  +
In dieser Arbeit wird dieses Problem unter Zuhilfenahme des Wissens über kausale Abhängigkeiten verschiedener Tuningaufgaben vereinfacht. Da sich die Fragen nach einigen Parameterwerten oft nur dann stellen, wenn andere Parameter gewisse Werte einnehmen, ist es unsinnig, erstere in jedem Fall in den Optimierungsprozess einzubeziehen. Insbesondere erlaubt das entwickelte Verfahren das verlustfreie, simultane Autotuning voneinander abhängiger nominaler und Verhältnisparameter, ohne auf möglicherweise wertvolle Informationen über deren gegenseitige Einflussnahme aufeinander zu verzichten.  +
E
Aktuelle Entwicklungen in der Softwaretechnik zeigen einen Trend zur Dezentralisierung von Softwaresystemen. Mit dem Einsatz von Techniken wie Cloud-Computing oder Micro-Services fließen immer mehr Daten über öffentliche Netzwerke oder über die Infrastruktur von Drittanbietern. Im Gegensatz dazu führen aktuelle gesetzliche Änderungen wie die "General Data Protection Regulations" der EU dazu, dass es für Softwareentwickler immer wichtiger wird sicherzustellen, dass die Datenflüsse ihrer Software gesetzliche Beschränkungen einhalten. Um dies trotz der stetig wachsenden Komplexität von Softwaresystemen zu ermöglichen, wurden verschiedenste modellbasierte Ansätze vorgeschlagen. Ein Nachteil der meisten Ansätze ist jedoch, dass sie oftmals keine voll automatisierte Analyse bezüglich der Verletzung Datenflussbeschränkungen ermöglichen. Aus diesem Grund schlagen wir ein neues Metamodell zur Beschreibung von Datenflüssen von Softwaresystemen vor. Diese Metamodell ist so entworfen, dass eine automatisierte Übersetzung von Instanzen in ein Programm der logischen Programmiersprache Prolog ermöglicht wird. Dieses Programm erlaubt dann die einfache Formulierung von Regeln zur automatisierten Prüfung der Einhaltung von Datenflussbeschränkungen. Ein wichtiger Aspekt für den Entwurf und die Implementierung unseres Ansatzes war die Skalierbarkeit: Ziel war es, sicherzustellen dass unser Ansatz effizient einsetzbar ist. Hierbei haben wir insbesondere Techniken zur Optimierung von Prolog Programmen entwickelt, deren Einsatzmöglichkeiten nicht nur auf unseren Ansatz beschränkt sind.  +
Big data technology pushes the frontiers of science. A particularly interesting application of it is culturomics. It uses big data techniques to accurately quantify and observe language and culture over time. A milestone to enable this kind of analysis in a traditionally humanistic field was the effort around the Google Books project. The scanned books were then transformed into a so called N-gram corpus, that contains the frequency of words and their combinations over time. Unfortunately this corpus is enormous in size of over 2 terabytes of storage. This makes handling, storing and querying the corpus difficult. In this bachelor thesis, we introduce a novel technique to reduce the storage requirements of N-gram corpora. It uses Natural Language Processing to estimate the counts of N-grams. Our approach is able to prune around 30% more effective than state-of-the-art methods.  +
Graph Neural Networks (GNNs) have shown great potential for use cases that can be described as graphs. However, training GNNs presents unique challenges due to the characteristics of graph data. The focus of this thesis is to examine their learning abilities by developing a GNN-based surrogate model for the injection molding process from materials science. While numerical simulations can model the mold filling accurately, they are computationally expensive and require significant trial-and-error for parameter optimization. We propose representing the mold geometry as a static graph and constructing additional node and edge features from domain knowledge. We plan to enhance our model with a self-attention mechanism, allowing dynamic weighting of a node's neighbors based on their current states. Further improvements may come from customizing the model’s message passing function and exploring node sampling methods to reduce computational complexity. We compare our approach to conventional machine learning models w.r.t. predictive performance, generalizability to arbitrary mold geometries and computational efficiency. This thesis is a follow-up work to a bachelor thesis written at the chair in 2022.  +
Verification methods detect unexpected behavior of business process models before their execution. In many process models, verification depends on data values. A data value is a value in the domain of a data object, e.g., $1000 as the price of a product. However, verification of process models with data values often leads to state-space explosion. This problem is more serious when the domain of data objects is large. The existing works to tackle this problem often abstract the domain of data objects. However, the abstraction may lead to a wrong diagnosis when process elements modify the value of data objects. In this thesis, we provide a novel approach to enable verification of process models with data values, so-called data-value-aware process models. A distinctive of our approach is to support modification of data values while preserving the verification results. We show the functionality of our approach by conducting the verification of a real-world application: the German 4G spectrum auction model.  +
The k nearest neighbors (k-NN) of a time series are the k closest sequences within a dataset regarding a distance measure. Often, not the entire time series, but only specific time intervals are of interest, e.g., to examine phenomena around special events. While numerous indexing techniques support the k-NN search of time series, none of them is designed for an efficient interval-based search. This work presents the novel index structure Time Series Envelopes Index Tree (TSEIT), that significantly speeds up the k-NN search of time series in arbitrary user-defined time intervals.  +
Wartbarkeit spielt eine zentrale Rolle für die Langlebigkeit von Softwareprojekten. Ein wichtiger Teil der Wartbarkeit besteht darin, dass die natürlichsprachliche Dokumentation des Quelltextes einen guten Einblick in das Projekt und seinen dazugehörigen Quelltext liefert. Zur besseren Wartbarkeit dieser beiden Software-Artefakte besteht die Aufgabe dieser Arbeit darin, Verbindungen zwischen den Elementen dieser beiden Artefakte aufzubauen. Diese Verbindungen heißen Trace Links und können für verschiedene Zwecke der Wartbarkeit genutzt werden. Diese Trace Links ermöglichen zum Beispiel die Inkonsistenzerkennung zwischen den beiden Software-Artefakten oder können auch für verschiedene Analysen benutzt werden. Um diese Trace Links nachträglich aus den beiden Software-Artefakten natürlichsprachlicher Dokumentation und Quelltext zu gewinnen, wird das bereits bestehende ArDoCo Framework benutzt und auf das Software-Artefakt Quelltext erweitert. Ebenfalls werden ArDoCos bestehende Entscheidungskriterien auf den neuen Kontext angepasst. Der neuartige Kontext führt zu Herausforderungen bezüglich der Datenmenge, die durch neue Entscheidungskriterien adressiert werden. Dabei zeugen die Ergebnisse dieser Arbeit eindeutige von Potenzial, weswegen weiter darauf aufgebaut werden sollte.  +
Klassendiagramme ermöglichen die grafische Modellierung eines Softwaresystems. Insbesondere zu Beginn von Softwareprojekten entstehen diese als handgezeichnete Skizzen auf nicht-digitalen Eingabegeräten wie Papier oder Whiteboards. Das Festhalten von Skizzen dieser Art ist folglich auf eine fotografische Lösung beschränkt. Eine digitale Weiterverarbeitung einer auf einem Bild gesicherten Klassendiagrammskizze ist ohne manuelle Rekonstruktion in ein maschinell verarbeitbares Diagramm nicht möglich. Maschinelle Lernverfahren können durch eine Skizzenerkennung eine automatisierte Transformation in ein digitales Modell gewährleisten. Voraussetzung für diese Verfahren sind annotierte Trainingsdaten. Für UML-Klassendiagramme sind solche bislang nicht veröffentlicht. Diese Arbeit beschäftigt sich mit der Erstellung eines Datensatzes annotierter UML-Klassendiagrammskizzen für maschinelle Lernverfahren. Hierfür wird eine Datenerhebung, ein Werkzeug für das Annotieren von UML-Klassendiagrammen und eine Konvertierung der Daten in ein Eingabeformat für das maschinelle Lernen präsentiert. Der annotierte Datensatz wird im Anschluss anhand seiner Vielfältigkeit, Detailtiefe und Größe bewertet. Zur weiteren Evaluation wird der Einsatz des Datensatzes an einem maschinellen Lernverfahren validiert. Das Lernverfahren ist nach dem Training der Daten in der Lage, Knoten mit einem F1-Maß von über 99%, Textpositionen mit einem F1-Maß von über 87% und Kanten mit einem F1-Maß von über 71% zu erkennen. Die Evaluation zeigt folglich, dass sich der Datensatz für den Einsatz maschineller Lernverfahren eignet.  +
Diese Arbeit verfolgt das Ziel, ein natürlichsprachliches Dialogsystem zu entwickeln, welches zur Bearbeitung von Anfragen aus dem Umfeld eines Rechenzentrums verwendet werden kann. Das System ermöglicht die gleichzeitige Verwendung durch mehrere Nutzer, ohne dass sich diese während der Nutzung gegenseitig beeinflussen. Des Weiteren stellt die Einführung eines Kommunikationskanals zwischen Endanwendern und Experten eine wesentliche Erweiterung des Dialogsystems dar. Sie soll es ihm ermöglichen, Anfragen, welche es nur unzureichend beantworten kann, an einen Experten weiterzuleiten. Diese Erweiterung verfolgt das Ziel, die Zahl der erfolgreich gelösten Fragestellungen zu maximieren. Diese Arbeit umfasst die folgenden Schritte: nach einem ersten Grobentwurf und der Überlegung eines möglichen Dialogablaufs kann das System aus den zwei Komponenten dem Backend, welches den Kern des Dialogsystems bildet und für die Verarbeitung von Eingaben sowie die Antwortgenerierung zuständig ist, und dem Frontend, welches die Interaktion mit dem System ermöglicht, implementiert werden. Zuletzt wird es anhand der Anzahl an korrekt beantworteten Anfragen evaluiert. Zusätzlich wird ein Vergleich mit den auf den gleichen Datenbasen agierenden Internetauftritten gezogen. Dazu wurden 25 Teilnehmer eingeladen, an der Evaluation teilzunehmen. Insgesamt konnte das Dialogsystem 135 der 150 Fragen automatisiert beantworten. Weitere 13 Anfragen konnten gelöst werden, indem die Mehrmandantenfähigkeit des Systems ausgenutzt wurde und Experten zurate gezogen wurden.  +
Die Cybersicherheit bereits in frühen Entwicklungsphasen zu betrachten, gewinnt in der Automobilindustrie zunehmend an Relevanz, um immer komplexer werdende Fahrzeuge gegen Angriffe abzusichern. Welche Teile eines Systemmodells in einer modellbasierten Sicherheitsbetrachtung bereits analysiert wurden, ist nicht eindeutig und meist nur händisch mit Expertenwissen zu ermitteln. Bestehende Ansätze liefern in der frühen Konzeptphase bestenfalls unvollständige Ergebnisse, da das Systemmodell nur skizzenhaft existiert. In dieser Arbeit wurde ein Konzept vorgestellt, mit dem Sicherheitsbetrachtungen bereits in der frühen Konzeptphase durch eine Metrik auf Vollständigkeit bewertet werden können. Dazu werden aus Systemzusammenhängen Elemente bestimmt, die in einer vollständigen Sicherheitsbetrachtung enthalten sein müssen. Diese Erwartung wird daraufhin mit der tatsächlichen Sicherheitsbetrachtung verglichen, um den Grad der Vollständigkeit zu bestimmen. Das Konzept wurde prototypisch implementiert und dessen Anwendbarkeit anhand einer Fallstudie aus dem EVITA Projekt evaluiert.  +
Mithilfe der modellgetriebenen Softwareentwicklung kann im Entwicklungsprozess eines Software-Systems, dieses bzw. dessen Teile und Abstraktionen durch Modelle beschrieben werden. Diese Modelle können untereinander in Abhängigkeitsbeziehungen stehen sowie über redundante Informationen verfügen. Um Inkonsistenzen zu vermeiden, werden Tools zur automatisierten Konsistenzhaltung eingesetzt. In dieser Arbeit wird das EDA-Programm Eagle, das zur Erstellung elektronischer Schaltpläne und Leiterplatten genutzt wird, in das Vitruvius-Framework eingebunden. Bestandteile sind hierbei das Ableiten eines Ecore-Metamodells, das die Schaltplandatei von Eagle beschreibt, das Etablieren von Transformationen zwischen Ecore-Modellen und Schaltplandateien sowie das Extrahieren von Änderungen zwischen zwei chronologisch aufeinanderfolgenden Schaltplandateien. Die extrahierten Änderungen werden in das Vitruvius-Framework eingespielt, wo sie durch das Framework zu in Konsistenzbeziehung stehenden Ecore-Modellen propagiert werden. Zudem wird ein Verfahren eingesetzt, um Änderungen in der Schaltplandatei einem eindeutigen elektronischen Bauteil zuordnen zu können. Dies ist erforderlich, um Bauteile im Kontext mit anderen Programmen zu verfolgen, da die Eigenschaften eines Bauteils in verschiedenen Programmen variieren können.  +
Im Zuge der Masterarbeit sollte eine domänenspezifische Sprache für Änderungsausbreitungsregeln evaluiert und erweitert werden. Durch diese Sprache wird es Domänenexperten ermöglicht, Änderungsausbreitungsregeln auf Grundlage eines Metamodells innerhalb des Änderungsausbreitungsframeworks zu erstellen. Dabei sind keine tiefer gehenden Kenntnisse der Java-Programmierung oder des Änderungsausbreitungsframeworks notwendig. Aus den in dieser Sprache formulierten Regeln werden automatisch Java-Klassen generiert, die eine Änderungsausbreitungsberechnung durchführen können. Zu Evaluationszwecken wurden die bisher mittels Java-Methoden implementierten Änderungsausbreitungsberechnungen untersucht. Diese konnten in Regelklassen gegliedert und teilweise in der Sprache abgebildet werden. Für die nicht abbildbaren Regeln wurden neue Sprachkonstrukte konzipiert. Zudem wurde die Übertragbarkeit von der Sprache zwischen unterschiedlichen Anwendungsdomänen untersucht.  +
Diese Arbeit stellt eine Schnittstelle vor, die, eingebunden in ein Programm, die Aktionen eines Nutzers im Hintergrund auf dem lokalen Rechner verarbeitet und speichert, und versucht, aus den gesammelten Daten eine Vorhersage für die nächste Aktion zu ermitteln. Eine Nutzeraktion ist dabei durch die Daten eines Datensatzes definiert, die der Nutzer durch die Aktion abfragen möchte. Aus einer Reihe von Paaren (Nutzereingabe, extrahierte Daten), die automatisch über eine REST-Schnittstelle oder von Hand über eine grafische Nutzeroberfläche in das System eingespeist werden können, wird ein Modell gewonnen, das für jede Aktion alle unmittelbar nachfolgenden Aktionen als Bigramm speichert und ihre Häufigkeit zählt. Die Schnittstelle stellt eine Reihe von Vorhersagestrategien zur Verfügung. Eine davon nutzt ein künstliches neuronales Netz, das das System in die Lage versetzt, auch dann einen Aktionsvorschlag zu machen, wenn der Nutzer zuvor eine völlig unbekannte Aktion ausgeführt hat. Die Leistungsfähigkeit des neuronalen Netzes wurde an Beispieldaten getestet und evaluiert. Für die Evaluation wurden zufällig Modelle mit Aktionsfolgen generiert, die menschliches Verhalten nachahmen sollten. Bei einem stichprobenartigen Durchlauf, bei dem das Modell auf zweitausend generierte Nutzeranfragen trainiert wurde, konnte das System die Aktionen zu 54.2 Prozent replizieren, bei zweihundert Nutzeranfragen im Mittel zu 72.2 Prozent. Bei authentischem menschlichem Nutzerverhalten gibt es gute Gründe dafür, anzunehmen, dass die Vorhersage noch leistungsfähiger ist.  +
In der Änderungsausbreitungsanalyse wird untersucht, wie sich Änderungen in Systemen ausbreiten. Dazu werden unter anderem Algorithmen entwickelt, die identifizieren, welche Elemente in einem System von einer Änderung betroffen sind. Für die Anpassung bestehender Algorithmen existiert keine spezielle Sprache, weshalb Domänenexperten universelle Programmiersprachen, wie Java, verwenden müssen, um Änderungsausbreitungen zu formulieren. Durch den imperativen Charakter von Java, benötigen Domänenexperten mehr Code und mehr Wissen über Implementierungsdetails, als sie mit einer, auf die Änderungs- ausbreitungsanalyse zugeschnittenen, Sprache bräuchten. Eine Sprache sollte stets an den Algorithmus der jeweiligen Änderungsausbreitungsanalyse angepasst sein. Für den in dieser Arbeit betrachteten Ansatz zur Änderungsausbreitungsanalyse mit der Bezeichnung Karlsruhe Architectural Maintainability Prediction (KAMP), besteht noch keine spezielle Sprache. KAMP ist ein Ansatz zur Bewertung architekturbasierter Änderungsanfragen, der in einem gleichnamigen Softwarewerkzeug implementiert ist. Diese Arbeit präsentiert mit der Change Propagation Rule Language (CPRL) eine spezielle Sprache für den, in KAMP verwendeten, Algorithmus der Änderungsausbreitungsanalyse. Zum Abschluss wird der Vorteil der entwickelten Sprache, gegenüber drei konkurrierenden Sprachen, ermittelt. Die Arbeit kommt zum Schluss, dass CPRL kompakter als konkurrierende Sprachen ist und es gleichzeitig erlaubt, die Mehrheit an denkbaren Änderungsausbreitungen zu beschreiben.  +
Der Einsatz mehrerer Modelle zur Beschreibung eines Softwaresystems birgt oftmals die Herausforderung, diese konsistent zu halten. Während es viel Forschung zur Konsistenzhaltung zweier Modelle gibt, untersuchen nur wenige Arbeiten die Spezifika der Konsistenzhaltung mehrerer Modelle. In dieser Bachelorarbeit wird eine neue Programmiersprache vorgestellt, die es erlaubt, Transformationen zu erstellen, die mehr als zwei Modelle konsistent halten. Die Sprache verwendet ein Zwischen-Metamodell, sodass alle Transformationen zuerst von einem existierenden Modell in das Zwischenmodell und dann erst in die anderen Modelle ausgeführt werden.  +
Die meta-kognitive Strategie "laut nachzudenken" kann auf neuronale Sprachmodelle übertragen werden, wie Betz et al. zeigen: Ein vortrainiertes Sprachmodell ist besser in der Lage, deduktive Schlussfolgerungsprobleme zu lösen, wenn es zuvor dynamische Problemelaborationen generiert. Das Sprachmodell verwendet auf dem Datensatz von Betz et al. eine einfache Heuristik für seine Antwortvorhersage, die es mithilfe der selbst generierten Kontexterweiterungen effektiver einsetzen kann. In dieser Arbeit untersuche ich, wie dynamische Kontexterweiterungen die Performanz eines neuronalen Sprachmodells beeinflussen, wenn es nicht auf eine solche Heuristik zurückgreifen kann. Ich überprüfe (i) die Schlussfolgerungsfähigkeiten eines vortrainierten neuronalen Sprachmodells im Zero-Shot Setting, (ii) den Einfluss verschiedener vorgegebener Kontexterweiterungen auf die Zero-Shot-Performanz und (iii) die Fähigkeiten des Sprachmodells, selbst effektive Kontexterweiterungen zu generieren und zu nutzen.  +
Many modern high-performance applications are highly-configurable software systems that provide hundreds or even thousands of configuration options. System administrators or application users need to understand all these options and their impacts on the software performance to choose suitable configuration values. To understand the influence of configuration options on the run-time characteristics of a software system, users can use performance prediction models, but building performance prediction models for highly-configurable high-performance applications is expensive. However, not all configuration options, which a software system offers, are performance-relevant. Removing these performance-irrelevant configuration options from the modeling process can reduce the construction cost. In this thesis, we explore and analyze two different approaches to empirically identify configuration options that are not performance-relevant and can be removed from the performance prediction model. The first approach reuses existing performance modeling methods to create much cheaper prediction models by using fewer samples and then analyzing the models to identify performance-irrelevant configuration options. The second approach uses white-box knowledge acquired through dynamic taint analysis to systematically construct the minimal number of required experiments to detect performance-irrelevant configuration options. In the evaluation with a case study, we show that the first approach identifies performance-irrelevant configuration options but also produces misclassifications. The second approach did not perform to our expectations. Further improvement is necessary.  +
Microservices architectures have gained popularity over the recent years, especially since global players in the internet economy changed to this architectural style. Many architectural patterns for recurring problems were identified, such as the Service Discovery for service registration or Client-side Load Balancing for load distribution. Architectural analyses with the Palladio framework allow for the investigation of the attainment of these requirements during design time. The Architectural Templates method combines architecture models with architectural patterns and styles and allows for design-time analyses. In this thesis, we create a Microservices Architectural Templates catalog, containing microservices Architectural Templates. A selection of widely used patterns is analyzed and conceptually mapped to the Architectural Templates method. A case study, conducted with a sample application representing a customer relationship management application, shows that software architects can profit from the provided templates by automatic model completions and accurate analyses results.  +
Nowadays, software systems are evolving at a pace never seen before. As a result, emerging inconsistencies between different software artifacts are almost inevitable. Currently, there are already approaches for automated consistency maintenance between source code and architecture models. However, these approaches have various limitations. Therefore, in this thesis, we present a comprehensive approach for supporting the consistency preservation between software artifacts with special focus on software evolution and adaptation. At design-time, source code analysis and consistency rules are used, while at run-time, monitoring data is used as input for a transformation pipeline. In contrast to already existing approaches, the automated derivation of the system composition is supported. Ultimately, self-validations were included as a central component of the approach. In a case study based evaluation the accuracy of the models and the performance of the approach was measured. In addition, the scalability of the transformations within the pipeline was investigated.  +
With digitalization in progress, the amount of sensitive data stored in software systems is increasing. However, the confidentiality of this data can often not be guaranteed, as uncertainties with an impact on confidentiality exist, especially in the early stages of software development. As the consideration of uncertainties regarding confidentiality is still novel, there is a lack of awareness of the topic among software architects. Additionally, the existing knowledge is scattered among researchers and institutions, making it challenging to comprehend and utilize for software architects. Current research on uncertainties regarding confidentiality has focused on analyzing software systems to assess the possibilities of confidentiality violations, as well as the development of methods to classify uncertainties. However, these approaches are limited to the researchers’ observed uncertainties, limiting the generalizability of classification systems, the validity of analysis results, and the development of mitigation strategies. This thesis presents an approach to enable the collection and management of knowledge on uncertainties regarding confidentiality, enabling software architects to comprehend better and identify uncertainties regarding confidentiality. Furthermore, the proposed approach strives to enable collaboration between researchers and practitioners to manage the effort to collect the knowledge and maintain it. To validate this approach, a prototype was developed and evaluated with a user study of 17 participants from software engineering, including 7 students, 5 researchers, and 5 practitioners. Results show that the approach can support software architects in identifying and describing uncertainties regarding confidentiality, even with limited prior knowledge, as they could identify and describe uncertainties correctly in a close-to-real-world scenario in 94.4% of the cases.  +
Many software systems have to be designed and developed in a way that specific security requirements are guaranteed. Security can be specified on different views of the software system that contain different kinds of information about the software system. Therefore, a security analysis on one view must assume security properties of other views. A security analysis on another view can be used to verify these assumptions. We provide an approach for enabling the information transfer between a static architecture analysis and a static, lattice-based source code analysis. This approach can be used to reduce the assumptions in a component-based architecture model. In this approach, requirements under which information can be transferred between the two security analyses are provided. We consider the architecture and source code security analysis as black boxes. Therefore, the information transfer between the security analyses is based on a megamodel consisting of the architecture model, the source code model, and the source code analysis results. The feasibility of this approach is evaluated in a case study using Java Object-sensitive ANAlysis and Confidentiality4CBSE. The evaluation shows that information can be transferred between an architecture and a source code analysis. The information transfer reveals new security violations which are not found using only one security analysis.  +
In the area of workflow analysis, the workflow in respect to e.g. a working process can be analyzed by looking into the data which was used for the working process or created during the working process. The main contribution of this work is to extend CoVER in such a way that it supports LIKE predicates with order preserving encryption.  +
Professional installation of stationary sensors burdens the adoption of Activity Recognition Systems in households. This can be circumvented by utilizing sensors that are cheap, easy to set up and adaptable to a variety of homes. Since 72% of European consumers will have Smart Meters by 2020, it provides an omnipresent basis for Activity Recognition. This thesis investigates, how a Smart Meter’s limited recognition of appliance involving activities can be extended by Vibration Sensors. We provide an experimental setup to aggregate a dedicated dataset with a sampling frequency of 25,600 Hz. We evaluate the impact of combining a Smart Meter and Vibration Sensors on a system’s accuracy, by means of four developed Activity Recognition Systems. This results in the quantification of the impact. We found out that through combining these sensors, the accuracy of an Activity Recognition System rather strives towards the highest accuracy of a single underlying sensor, than jointly surpassing it.  +
Softwarearchitekturdokumentationen enthalten Fachbegriffe aus der Domäne der Softwareentwicklung. Wenn man diese Begriffe findet und zu den passenden Begriffen in einer Datenbank verknüpft, können Menschen und Textverarbeitungssysteme diese Informationen verwenden, um die Dokumentation besser zu verstehen. Die Fachbegriffe in Dokumentationen entsprechen dabei Entitätserwähnungen im Text. In dieser Ausarbeitung stellen wir unser domänenspezifisches Entity-Linking-System vor. Das System verknüpft Entitätserwähnungen innerhalb von Softwarearchitekturdokumentationen zu den zugehörigen Entitäten innerhalb einer Wissensbasis. Das System enthält eine domänenspezifische Wissensbasis, ein Modul zur Vorverarbeitung und ein Entity-Linking-System.  +
Natural Language Software Architecture Documentation ( NLSAD ) and Software Architecture Model ( SAM) provide information about a software systems design and qualities. Inconsistencies between these artifacts can negatively impact the comprehension and evolution of the system. ArDoCo is an approach that was proposed in prior work by Keim et al. to find such inconsistencies and relies on Traceability Link Recovery (TLR) between entities in the NLSAD and SAM . ArDoCo searches for Unmentioned Model Elements (UMEs) in the model and Missing Model Elements (MMEs) in the text using the linkage information. ArDoCo’s approach shows promising results but has room for improvement regarding precision due to falsely identified textual entities. This work proposes using informal diagrams from the Software Architecture Documentation (SAD) to improve this. The approach performs an additional TLR between the textual entities and the diagram entities. According to heuristics, the linkage of textual entities and diagram entities is utilized to increase or decrease the confidence in textual entities. The Diagram Text TLR and its impact on ArDoCo’s performance are evaluated separately using the same data set as previous work by Keim et al. The data set was extended to include informal diagrams. The Diagram Text TLR achieves a good F1-score with Optical Character Recognition (OCR) of 0.54. The approach improves the MME detection (0.77→0.94 accuracy) by lowering the amount of falsely identified textual entities (0.39→0.69 precision) with a negligible impact on recall. The UME detection and ArDoCo ’s NLSAD to SAM are slightly positively impacted and continue to perform excellently. The results show that using informal diagrams to improve entity recognition in the text is promising. Room for improvement exists in dealing with issues related to OCR and diagram element processing.  +
Softwaresysteme der heutigen Zeit werden zunehmend komplexer und unterliegen immer mehr variierenden Bedingungen. Dadurch gewinnen selbst-adaptive Systeme an Bedeutung, da diese sich neuen Bedingungen dynamisch anpassen können, indem sie Veränderungen an sich selbst vornehmen. Domänenspezifische Modellierungssprachen (DSL) zur Formalisierung von Adaptionsstrategien stellen ein wichtiges Mittel dar, um den Entwurf von Rückkopplungsschleifen selbst-adaptiver Softwaresysteme zu modellieren und zu optimieren. Hiermit soll eine Bachelorarbeit vorgeschlagen werden, die sich mit der Fragestellung befasst, wie eine Optimierung von Adaptionsstrategien in einer DSL zur Entwurfszeit beschrieben werden kann.  +
Entwicklung einer Methode zum Vergleich mehrsprachiger und zeitabhängiger Textkorpora am Beispiel des Google Books Ngram Datensatzes.  +
Im Bereich der modellgetriebenen Softwareentwicklung sind Simulationen ein wichtiges Konzpet. Zum Beispiel erlaubt das Palladio Component Model (PCM) die Modellierung und der Palladio Simulator die Simulation von Softwarearchitekturen durch ereignisorientierte Simulationen, um Mängel in Softwarearchitekturen frühzeitig zu erkennen. Das Tool DesComp ermöglicht es, ereignisorientierte Simulationen zu modellieren und zu vergleichen. Vor der Implementierung einer neuen Simulation können so Ähnlichkeiten zu bestehenden Simulationen identifiziert werden, um diese wiederzuverwenden. Der DesComp-Ansatz modelliert das Simulations-Verhalten mittels Erfüllbarkeit prädikatenlogischer Formeln (Satisfiability Modulo Theories, kurz SMT). Die Spezifikation des Simulations-Verhaltens durch SMT-Code ist allerdings aufwändig und erfordert Hintergrundwissen zum SMT-LIB Standard. Im Rahmen dieser Arbeit wurde eine domänenspezifischen Sprache (DSL) zur Spezifikation der Simulations-Struktur und des Simulations-Verhaltens mit dem Xtext-Framework entwickelt. Auf Grundlage der Struktur-Spezifikation des DesComp-Ansatzes wurde dafür ein Metamodell zur Modellierung von Struktur und Verhalten ereignisorientierter Simulationen erstellt. Dieses Metamodell wurde als Grundlage der abstrakten Syntax der entwickelten Sprache verwendet. Das Metamodell dient dann als Ausgangspunkt für die weitere Verwendung und Analyse der Simulations-Spezifikation. Dazu wurde eine Transformation der Verhaltens-Spezifikation in SMT-Code implementiert, die zusammen mit der Simulations-Struktur in eine Graph-Datenbank exportiert werden kann, um die Simulation in DesComp zu analysieren oder mit anderen Simulationen zu vergleichen. Die entwickelte Sprache wurde anhand der Simulation BusSimulation und des Palladio-Simulators EventSim evaluiert, indem die Modellierungen der Simulationen mit DesComp und der Sprache anhand verschiedener Kriterien verglichen wurde.  +
Das Testen von Software über deren graphischen Benutzeroberflächen wird mit zunehmender Komplexität der Software (und damit einhergehender Variabilität in der Benutzeroberfläche) aufwendiger. Rein manuelles Testen durch den Entwickler und das Schreiben von Testfällen sind oft nicht mehr möglich. Daher sind neue Ansätze aus dem Bereich des maschinellen Lernens erforderlich, um diese Arbeiten zu erleichtern. Ein Lösungsansatz kann der Einsatz neuronaler Netze sein, die am Forschungszentrum Informatik (FZI) entwickelt werden. Als Eingabedaten sollen dabei Zustände einer graphischen Benutzeroberfläche als Bild dienen, welche jedoch zu komplex sind, um in Echtzeit von diesen Netzen verarbeitet zu werden. In dieser Masterarbeit wurde untersucht, inwiefern eine Kompression der Daten durch den Encoder-Teil von Autoencodern stattfinden kann. Hierzu wurden vier verschiedene Autoencoder-Architekturen entwickelt und analysiert, inwiefern sie sich für diesen Zweck eignen. Um die Autoencoder zu trainieren, wurde ein Trainingsdatengenerator in Rust unter Verwendung von dort vorhandenen GUI-Toolkits als Mock-Applikation einer realen GUI entwickelt. Der Trainingsdatengenerator eignet sich sehr gut zum Training der Autoencoder, da er sehr passgenau Trainingsdaten generieren kann. Aufgrund des frühen Stadiums der verwendeten Werkzeuge traten jedoch während der Entwicklung Fehler auf, die die Entwicklung hemmten. Für diese wurden Workarounds entwickelt, die teilweise die Handhabung des Generators erschweren. Darüber hinaus lässt sich feststellen, dass der Aufwand zur exakten Nachbildung einer Applikation als Mock sehr hoch ist. Bezüglich der Kompression von Informationen über Benutzeroberflächen durch die Autoencoder waren die Ergebnisse dagegen vielversprechend, da die Testdaten auch in hoher Auflösung von 900 x 935 Pixeln mit hoher Genauigkeit rekonstruiert werden konnten. Erste Experimente ergaben, dass die Autoencoder darüber hinaus Fähigkeiten entwickeln, Applikationen mit ähnlichem Farbschema oder ähnlicher Designsprache zu kodieren und wiederzugeben. Ein erstes Fazit über die Fähigkeiten zur Generalisierung fällt daher ebenso positiv aus. Die Genauigkeit der Reproduktion sinkt, wenn die Eingabe farblich oder designtechnisch stark von den Trainingsdaten abweicht.  
Ein neuartiger Ansatz zum Erlernen von Computerspielen ist die Verwendung von neuronalen Netzen mit Gedächtnis (speziell CTRNNs). Die großen Datenmengen in Form roher Pixel-Daten erschweren jedoch das Training. Auto-Encoder können die diese Pixel-Daten der Spielframes soweit komprimieren, dass sie für solche Netze verfügbar werden. Das Ziel dieser Arbeit ist es eine Auto-Encoder-Architektur zu finden, welche Atari-Frames soweit komprimiert, sodass eine möglichst verlustfreie Rekonstruktion möglich ist. Atari-Spiele können so für CTRNNs zugänglich gemacht werden. Dafür wurden zwei unterschiedliche Atari-Spiele ausgewählt, große Datensätze mit geeigneten Spielframes generiert und verschiedene Auto Encoder Architekturen evaluiert. Im Rahmen dieser Arbeit konnte gezeigt werden, dass eine ausreichende Kompression mit akzeptierbaren Qualitätsverlust möglich ist.  +
Die rapide Zunahme der Rechenleistung heutiger Computer hat die Nutzung von KI in alltäglichen Anwendungen wesentlich erleichtert. Aufgrund der statistischen Natur von KI besteht deshalb eine gewisse Unsicherheit. Diese Unsicherheit kann direkten Einfluss auf die Zuverlässigkeit eines Software-Systems haben. Im Rahmen der Arbeit „Entwicklung zuverlässiger KI-basierter Software-Systeme in Anwesenheit von Unsicherheit“ wird ein Vorgehen präsentiert, das solche Problematiken auf Architekturebene analysieren kann. Das Vorgehen nutzt dafür modellbasierte Qualitätsanalysen, welche im Kontext von Palladio realisiert wurde. Zusätzlich wird ein Vorgehen zur Sensitivitätsanalyse vorgestellt, um ein KI-Netz anhand von veränderten Unsicherheiten abzutasten. Mithilfe dieser Werkzeuge kann eine Zuverlässigkeitsvorhersage auf dem Modell des Software-Systems getätigt werden. Dabei konnte für zwei Unterschiedliche KI-Netze gezeigt werden, dass deren Sensitivitätsmodelle direkten Einfluss auf die Zuverlässigkeit des gesamten Software-Systems haben. Durch den Einsatz von Architekturvorlagen konnte auch gezeigt werden, dass die ebenfalls Einfluss auf die Zuverlässigkeit des gesamten Software-Systems haben.  +
In dieser Masterarbeit werden Methodiken erarbeitet, welche die Entwicklung von Produktlinien in der Modellbasierten Systementwicklung (MBSE) unterstützen sollen. Für die Verhaltensbeschreibung von Systemen werden unter anderem Aktivitätsdiagramme verwendet, die keine expliziten Konstrukte zur Modellierung von Variabilität anbieten. Deshalb wird in dieser Arbeit ein Ansatz zur Modellierung von Variabilität in Aktivitätsdiagrammen vorgestellt, der Metamodell-unabhängig ist und somit nicht nur für Aktivitätsdiagramme verwendet werden kann. Dieser Ansatz wird mit gängigen Ansätzen der Variabilitätsmodellierung verglichen und es wird unter anderem untersucht, inwieweit dieser Ansatz die Elementredundanz im Vergleich zu den anderen Ansätzen verringert. Anschließend wird erarbeitet, wie Aktivitätsdiagramme und gefärbte Petri-Netze untereinander konsistent gehalten werden können. Dazu werden deren Gemeinsamkeiten und Unterschiede herausgearbeitet, um Konsistenzhaltungsregeln zu definieren und die Grenzen der Konsistenzhaltung zu finden. Zum Abschluss wird skizziert, was notwendig ist, um die beiden Ansätze miteinander zu kombinieren, um eine Verhaltensbeschreibung einer Produktlinie aus Aktivitätsdiagrammen und gefärbten Petri-Netze zu erhalten, bei denen stets die Aktivitätsdiagramme und Petri-Netze der einzelnen Produktkonfigurationen konsistent zueinander sind.  +
Das manuelle Erstellen von Rückverfolgbarkeitsinformationen ist aufwendig. Deshalb ist es das Ziel des Projekts INDIRECT, Rückverfolgbarkeitsinformationen aus Anforderungen und Quelltext automatisch zu generieren. Um dies zu unterstützen wird eine Ontologie benötigt, welche Domäneninformationen aus den Anforderungen enthält. Im Rahmen dieser Arbeit wurde eine Domänenontologie und ein Werkzeug entwickelt, welches die Ontologie mit Informationen aus Anforderungen erweitert. Dabei lag der Fokus darauf, möglichst nur korrekte Informationen in die Ontologie zu übernehmen. Die Struktur der entworfenen Domänenontologie orientiert sich an den verschiedenen Klassen von Anforderungen, indem analysiert wurde, welche Art von Informationen diese jeweils enthalten. Das Werkzeug zu Erweiterung basiert auf manuell gefertigten Mustern, welche Strukturen in Abhängigkeitsbäumen von Sätzen aus Anforderungen darstellen. Mit ihnen werden Instanzen von Klassen und Relationen aus der Domänenontologie identiziert, welche in den Anforderungen vorkommen. Das Werkzeug wurde auf einem Korpus von Anforderungen aus verschiedenen Projekten aus unterschiedlichen Domänen mithilfe eines Goldstandards evaluiert. Das Verfahren zeigte sich als nicht erfolgreich, da nur eine geringe Präzision erreicht wurde. So wurde bei der Extraktion von Klasseninstanzen eine Präzision von 0,21 und ein F1-Maß von 0,09 erreicht, sowie eine Präzision von 0,09 und ein F1-Maß von 0,06 bei der Extraktion von Relationsinstanzen.  +
Eine Herausforderung bei der Rückverfolgung von Quelltext zu Anforderungen stellt die Analyse von Quelltext dar. Informationen über semantische Zusammenhänge zwischen Programmelementen sind darin nicht explizit dokumentiert, sondern müssen aus vorhandenen Informationen wie der natürlichen Sprache oder den strukturellen Abhängigkeiten abgeleitet werden. Im Rahmen des Forschungsprojekts INDIRECT wird eine semantische Repräsentation von Quelltext entworfen und umgesetzt, um die darin enthaltenen Informationen bei der Rückverfolgung von Anforderungen nutzen zu können. Die Repräsentation umfasst sowohl syntaktische Informationen als auch semantische Zusammenhänge im Quelltext. Für die Identifikation von semantischen Zusammenhängen wird eine Analyse der Syntax und eine Analyse der lexikalischen Bestandteile im Quelltext durchgeführt. Abschließend erfolgt eine Clusteranalyse auf Basis der gefundenen Zusammenhänge, um Gruppen aus semantisch zusammenhängenden Programmelementen zu identifizieren. Bei der Evaluation wurde eine Abdeckung der gefundenen Programmelementgruppen von bis zu 0,91 erzielt. Die Präzision der gefundenen Cluster betrug bis zu 0,9. Das harmonische Mittel aus der Cluster-Abdeckung und der Cluster-Präzision erreichte einen maximalen Wert von 0,73.  +
Um der steigenden Komplexität technischer Systeme zu begegnen, werden in ihrer Entwicklung sichtenbasierte Entwicklungsprozesse eingesetzt. Die dabei definierten Sichten zeigen nur die für ein bestimmtes Informationsbedürfnis relevanten Daten über das System, wie die Architektur, die Implementierung oder einen Ausschnitt davon und reduzieren so die Menge an Informationen und vereinfachen dadurch die Arbeit mit dem System. Neben dem Zweck der Informationsreduktion kann auch eine Einschränkung des Zugriffs aufgrund fehlender Zugriffsberechtigungen notwendig sein. Die Notwendigkeit ergibt sich beispielsweise bei der organisationsübergreifenden Zusammenarbeit zur Umsetzung vertraglicher Vereinbarungen. Um die Einschränkung des Zugriffs umsetzen zu können, wird eine Zugriffskontrolle benötigt. Bestehende Arbeiten nutzen eine Zugriffskontrolle für die Erzeugung einer Sicht. Die Definition weiterer Sichten darauf ist nicht vorgesehen. Außerdem fehlt eine allgemeine Betrachtung einer Integration einer Zugriffskontrolle in einen sichtenbasierten Entwicklungsprozess. Daher stellen wir in dieser Arbeit das Konzept einer Integration einer rollenbasierten Zugriffskontrolle in einen sichtenbasierten Entwicklungsprozess für beliebige Systeme vor. Mit dem Konzept ermöglichen wir die feingranulare Definition und Auswertung von Zugriffsrechten für einzelne Modellelemente für beliebige Metamodelle. Das Konzept implementieren wir prototypisch in Vitruv, einem Framework für sichtenbasierte Entwicklung. Wir evaluieren diesen Prototypen hinsichtlich seiner Funktionalität mithilfe von Fallstudien. Die Zugriffskontrolle konnten wir dabei für verschiedene Fallstudien erfolgreich einsetzen. Außerdem diskutieren wir die Integrierbarkeit des Prototypen in einen allgemeinen sichtenbasierten Entwicklungsprozess.  +
Fehlerzustände in Software oder Hardware führen zu Abweichungen bezüglich der bereitgestellten Daten und der Verarbeitungszeit oder direkt zu einem kompletten Ausfall eines Service an einer Software-Komponente. Diese Abweichung von dem korrekten Service führt wiederum dazu, dass andere Komponenten, die diesen inkorrekten Service in Anspruch nehmen, ihren Service ebenfalls nicht korrekt bereitstellen können. Der entstandene Fehler propagiert durch das System, kombiniert sich mit anderen Fehlern, transformiert zu anderen Fehlerarten und hat letztendlich mehr oder weniger schwere Auswirkungen auf den System-Kontext, falls die Propagation nicht durch geeignete Maßnahmen unterbunden wird. Besonders bei sicherheitskritischen Systemen ist es deshalb notwendig die Auswirkungen der möglichen Fehler im System zu analysieren. Die in der Arbeit entwickelte Erweiterung des Palladio-Konzeptes ermöglicht es, diese Analyse schon zur Entwurfszeit anhand eines Modells durchzuführen. Mithilfe der Erweiterung kann analysiert werden, wie oft und in welchem Verhältnis ein Fehler aufgetreten ist, welche Fehlervorkommen miteinander korrelieren und wie schwerwiegend die Auswirkungen der aufgetretenen Fehler für den Systemkontext waren. Neben der Analyse der Fehlerpropagation ermöglicht die Erweiterung die Modellierung von Systemen, die auf das Vorkommen eines Fehlers im Sinne einer Rekonfiguration reagieren. Das Konzept wurde anhand eines sicherheitskritischen Systems aus der Domäne der autonomen Fahrzeuge validiert.  +
Viele modellgetriebene Entwicklungsumgebungen verfolgen einen rein sequenziellen Ansatz. Modelltransformationen werden sequenziell ausgeführt und zu einem Zeitpunkt darf stets nur eine Modelltransformation ausgeführt werden. Auf entsprechend großen Datenmengen ergeben sich hierdurch jedoch einige Einschränkungen. So kann es dazu kommen, dass Nutzer mehrere Minuten oder sogar Stunden auf den Abschluss einer Modelltransformation warten müssen und die Software währenddessen nicht für Nutzereingaben zur Verfügung steht, selbst wenn die Modelltransformation nur auf einen Teil des Modells zugreift. Dieser Zustand kann jedoch den Nutzerflow unterbrechen, einen mentalen Zustand des Nutzers, der gleichzeitig produktiv ist und als belohnend wahrgenommen wird. Eine Möglichkeit, um das Risiko zu minimieren, dass der Nutzerflow unterbrochen wird, ist die Wartezeit für den Nutzer zu verkürzen, indem Modelltransformationen asynchron im Hintergrund ausgeführt werden. Der Nutzer kann dann mit eingeschränkt weiterarbeiten, während die Modelltransformation durchgeführt wird. Im Kontext von modellgetriebener Softwareentwicklung findet sich zu Nebenläufigkeit nur wenig Forschung. Zwar gibt es einige Ambitionen, Modelltransformationen zu parallelisieren, jedoch gibt es keine Forschung dazu, Modelltransformationen asynchron auszuführen um weitere Modelltransformationen simultan durchführen zu können. Die vorliegende Arbeit stellt am Beispiel der modellgetrieben entwickelten Software PREEvision der Firma Vector Informatik GmbH, Mechanismen und mögliche Implementierungen vor, mit denen simultane Modelltransformationen realisiert werden können. Für vier Operationen in PREEvision wird außerdem beispielhaft beschrieben, wie die Operationen mit Hilfe der vorgestellten Mechanismen so modifiziert werden können, dass diese asynchron ausgeführt werden. Die Prototypen der beschriebenen Modifikationen werden anschließend im Hinblick auf die Unterbrechung des Nutzerflows und die Korrektheit evaluiert. Abschließend zieht die Arbeit ein Fazit über die Anwendbarkeit der vorgestellten Mechanismen und darüber, ob der Nutzer durch die Prototypen seltener auf Wartedialoge warten muss.  
Die natürliche Sprache befindet sich in ständigem Wandel. Mittels Semantic Change Detection kann eine Änderung der Semantik von Wörtern zwischen Zeitpunkten festgestellt werden. Herkömmliche Semantic Change Detection Systeme arbeiten nur auf statischen Korpora. Durch Social Media ist es möglich, Sprache in Echtzeit zu analysieren. Da bisherige Ansätze jedoch nicht auf Textströmen funktionieren, soll in dieser Masterarbeit ein Echtzeitsystem zur Verarbeitung von Textströmen entworfen werden, welches frühzeitig die Änderung einer Wortbedeutung aufzeigt. Grundlage hierfür sind geeignete Worteinbettungen, die zum einen gute Vektoren liefern und zum anderen trotz Begrenzung des Speichers den Textstrom gut repräsentieren. Zur Evaluation soll ein synthetischer Korpus generiert werden, um die verschiedenen Methoden vergleichen zu können. Anschließend wird eine explorative Untersuchung auf Twitterdaten durchgeführt.  +
Die Rückverfolgbarkeit von Quelltext zu Anforderungen ist ein wichtiger werdendes Problem. Eine Garantie der Implementierung aller Anforderungen kann zur Steigerung von Softwarequalität führen. Für das Erstellen der Rückverfolgbarkeitsinformationen ist ein Verständnis des Quelltextes nötig. In dieser Arbeit wurden anhand von Komponententests semantisch zusammenhängende Methoden erkannt. Semantisch zusammenhängende Methoden erfüllen eine Funktionalität miteinander und verbessern das Verständnis von Quelltext. Für die Erkennung wurde ein heuristisches Verfahren entwickelt, welches aus mehreren Teilverfahren besteht, die sowohl auf den textuellen als auch den strukturellen Bestandteilen des Komponententest- und Quelltextes arbeiten. Für die Teilverfahren wurde eine Zerteilung und Transformation von Quelltextes entwickelt. Es wurden verschiedene Textähnlichkeitsalgorithmen mit einem maschinellem Lernverfahren (fastText) verglichen. Zur Bewertung wurden drei Softwareprojekte verwendet, mit einer höchsten Präzision von 74%, bei einer Ausbeute von 19%. Mit einer anderen Parameterkonfiguration wurde ein F1-Wert von 46% erreicht.  +
Das SAT-Problem ist eines der wohl bekanntesten NP-vollständigen Probleme. Hierbei handelt es sich um die Problemstellung, ob für eine gegebene aussagenlogische Formel G eine Variablenbelegung existiert, sodass G erfüllt ist. Zum Lösen des SAT-Problems gibt es eine Vielzahl an unterschiedlichen Ansätzen, sogenannte SAT-Solver. Wie sich herausgestellt hat, ist die Performance der verschiedenen Solver jedoch stark von den jeweiligen Instanzen abhängig, für die es das SAT-Problem zu lösen gilt. Deshalb interessiert man sich für Mengen von Solvern, die sich möglichst gut ergänzen, sogenannte Portfolios. Auf einem Portfolio wird dann mithilfe von Features der gegebenen Instanz eine Auswahl getroffen, welcher Solver wahrscheinlich der Beste ist. Studien zeigen, dass solche Portfolios in ihrer Performance einzelnen Solvern weit überlegen sind, weshalb diese genauer untersucht werden sollten. Hauptaugenmerk der Arbeit liegt auf der Auswahl an möglichst kleinen Portfolios und auf kleinen Mengen von Instanzfeatures und der daraus resultierenden Performance.  +
Das SAT-Problem ist ein bekanntes NP-vollständiges Problem aus der theoretischen Informatik. Es handelt es sich um die Problemstellung, ob für eine gegebene aussagenlogische Formel G eine Variablenbelegung existiert, sodass G erfüllt ist. Portfolio-basierte Methoden zum Lösen von SAT-Instanzen nutzen die komplementäre Stärke von einer Menge von verschiedenen SAT-Algorithmen aus. Hierbei wird aus einer gegebenen Menge von Algorithmen, dem sogenannten Portfolio, mittels eines Vorhersagemodells derjenige Algorithmus ausgewählt, der die bestmögliche Performance für die betrachtete SAT-Instanz verspricht. In dieser Arbeit interessieren wir uns besonders für erklärbare Portfolios, sprich für Portfolios, für die man nachvollziehen kann, wie die Vorhersage zu ihrem Ergebnis kommt. Gute Erklärbarkeit resultiert einerseits aus einer geringen Größe des Portfolios, andererseits aus einer reduzierten Komplexität des Vorhersagemodells. Im Vordergrund der Arbeit liegt das effiziente Finden von kleinen Portfolios aus einer größeren Menge von Algorithmen, sowie den Einfluss der Portfoliogröße auf die Performance des Portfolios.  +
Untersuchungen innerhalb der Begriffsgeschichte erfahren einen Aufschwung. Anhand neuer technologischer Möglichkeiten ist es möglich große Textmengen maschinengestützt nach wichtigen Belegstellen zu untersuchen. Hierzu wurden die methodischen Arbeitsweisen der Historiker und Linguisten untersucht um bestmöglich deren Informationsbedürfnisse zu befriedigen. Auf dieser Basis wurden neue Anfrageoperatoren entwickelt und diese in Kombination mit bestehenden Operatoren in einem funktionalen Benchmark dargestellt. Insbesondere eine Anfragesprache bietet die nötige Parametrisierbarkeit, um die variable Vorgehensweise der Historiker unterstützen zu können.  +
Diese Arbeit beschäftigt sich mit der Frage, ob und inwieweit das Verständnis natürlichsprachlicher Systeme durch das Erlernen von Synonymen gefördert werden kann. Als Grundlage und Benutzerschnittstelle wurde das Dialogsystem JustLingo, ein System zur natürlichsprachlichen Programmierung, verwendet. In vorangegangenen Arbeiten wurde JustLingo als Excel Add-in umgesetzt, mithilfe dessen man u.a. komplexe Algorithmen beschreiben kann. Darauf aufbauend wird in der vorliegenden Arbeit die Umsetzung eines Synonymmoduls beschrieben. Diesem liegen verschiedene Wortnetze zugrunde, die als Quellen dienen und aus denen anschließend relevante Synonyme extrahiert werden. Hierbei achtet das Modul auf den dem System bekannten Wortschatz. Bestätigt der Nutzer ein im Wortschatz vorkommendes Synonym, wird dieses erlernt und kann im Anschluss verwendet werden. Damit ist das in dieser Arbeit entwickelte Modell dem überwachten Lernen unterzuordnen. Um die Effektivität des Synonym-Lernens abzuschätzen, wurden abschließend sowohl Performanz, als auch die, durch Eingaben einer Nutzerstudie, erfasste Qualität geprüft. Hierbei zeigte sich eine enorme Verbesserung des Systems durch das Synonymmodul. Statt bisherigen 59% konnten 82% der Nutzereingaben interpretiert werden.  +
Die Bestimmung von Qualitätsmerkmalen eines Software-Systems, wird typischerweise erst nach der Entwurfsphase ersichtlich. Diskrete-Event-Simulationen basierend auf Computer-Systemen können hier Aufschluss geben und Entscheidungen schon zu Beginn der Entwurfsphase beeinflussen. Mit verfügbarem Domänen-Wissen kann eine Abstrakte Repräsentation eines Software-Systems dargestellt werden, um bestimmte Aspekte für eine Analyse zu simulieren. Mit der wachsenden Komplexität von Software-Systemen steigt auch der Bedarf der Skalierbarkeit, Wartbarkeit und damit auch die Anwendbarkeit von Simulationen. Dies verlangt das kombinieren von Simulationen aus unterschiedlichen Domänen, eine effiziente Wartbarkeit, so wie eine adäquate Wiederverwendbarkeit, die es dem Simulations-Anwender ermöglicht effektiv Simulationen zu Erstellen. Herkömmliche Simulations-Engines, die eine monolithische Vorgehensweise anwenden, können diesen Anforderungen nicht standhalten. Ein Lösungsansatz ist, ein Konzept zur Modularisierung der komplexe Simulationen, das mit einer Domänenspezifischen Sprache (DSL) umgesetzt wurde. Aus diesem Konzept resultiert die Herausforderung, das Simulations-Engines verschiedener Domänen über einen Kopplungsansatz, auf modularer Ebene kommunizieren zu können. In dieser Arbeit wird der Ansatz hinsichtlich einer Simulations-Engine aus der Domäne der Netzwerk Simulationen analysiert und erweitert. Die Ausdrucksmächtigkeit der DSL hinsichtlich der Kopplung von Netzwerk Simulationen ist nicht bekannt und muss bestimmt werden. Als Grundlage der Untersuchung wird eine Fallstudie mit einem existierenden Kopplungsansatz angewendet, die die Kopplung einer Netzwerk-Simulation mit einer Simulation einer alternativen Simulations-Engine manuell implementiert und analysiert. Die Kopplung, der in der Fallstudie entstandene verteilte Simulation, wird mit der existierenden DSL beschrieben und deren Ausdrucksmächtigkeit bestimmt. Aus den Resultaten wird eine Erweiterung der DSL bestimmt, die nach dem selben Vorgehen auf die Ausdrucksmächtigkeit evaluiert wird. Die Evaluation selbst ist ein Vergleich von Elementen der Fallstudie und den beschriebenen Elementen der DSL. Aus den Ergebnissen der Analyse von Netzwerk Simulationen entsteht ein Kopplungs-Interface was als Annäherung an alle Simulations-Engines aus dem Bereich der Diskreten-Event-Simulationen. Durch Teil-Automatisierung des Kopplungs-Interface wird der Entwicklungsaufwand auf ein annäherndes Niveau von monolithischen Simulationen reduziert. Die Ergebnisse der Arbeit zeigen, dass eine Beschreibung von Netzwerk-Simulationen mit der erweiterten DSL möglich ist. Da aber Elemente aus der Logik beschreibbar sind, diese aber für eine Kopplung irrelevant sind, nur ein Bruchteil der Fähigkeiten der DSL benötigt werden. Ebenfalls ist in Bezug zur manuellen Entwicklung einer verteilten Simulation eine Arbeitserleichterung durch Wiederverwendbarkeit und Abstraktion gegeben. Als Kern-Ergebnis ist, die bei hoch skalierenden verteilten Simulationen gesteigerte Attraktivität gegenüber der Verwendung einer monolithischen Variante.  
Domänenspezifische Sprachen für Software sind individuell an den jeweiligen Zweck angepasst. Die Sprache Modular Simulation Language modelliert die Kopplung zwischen verschiedenen Simulationen. Die Kopplung von Simulationen dient dem besseren Verständnis und der Austauschbarkeit. In dieser Arbeit wird geprüft, ob die Sprache alle nötigen Modelle erhält um universell Kommunikation, Struktur und Kopplung von beliebigen Simulationen darstellen zu können. Dazu wurde die Cloud Simulation Cloud Sim Plus ausgewählt und die Kommunikation von zwei Features dieser Simulation modelliert. Während der Modellierung wurden fehlende Elemente der Sprache identifiziert und Lösungsvorschläge integriert oder diskutiert. Das Ergebnis zeigt, dass sie Modular Simulation Language zum aktuellen Zeitpunkt nicht vollständig ist, das Thema aber weiter untersucht werden muss.  +
In today’s world, most datasets do not have only a small number of attributes. The high number of attributes, which are referred to as dimensions, hinder the search of objects that normally not occur. For instance, consider a money transaction that has been not legally carried out. Such objects are called outlier. A common method to detect outliers in high dimensional datasets are based on the search in subspaces of the dataset. These subspaces have the characteristics to reveal possible outliers. The most common evaluation of algorithms searching for subspaces is based on benchmark datasets. However, the benchmark datasets are often not suitable for the evaluation of these subspace search algorithms. In this context, we present a method that evaluates subspace search algorithms without relying on benchmark datasets by hiding outliers in the result set of a subspace search algorithm.  +
One research field of High Performance Computing (HPC) is computing clusters. Computing clusters are distributed memory systems where different machines are connected through a network. To enable the machines to communicate with each other they need the ability to pass messages to each other through the network. The Message Passing Interface (MPI) is the standard in implementing parallel systems for distributed memory systems. To enable software architects in predicting the performance of MPI-based systems several approaches have been proposed. However, those approaches depend either on an existing implementation of a program or are tailored for specific programming languages or use cases. In our approach, we use the Palladio Component Model (PCM) that allows us to model component-based architectures and to predict the performance of the modeled system. We modeled different MPI functions in the PCM that serve as reusable patterns and a communicator that is required for the MPI functions. The expected benefit is to provide patterns for different MPI functions that allow a precise modelation of MPI-based systems in the PCM. And to obtain a precise performance prediction of a PCM instance.  +
In the past decades, there has been an increased interest in the development of automated vehicles. Automated vehicles are vehicles that are able to drive without the need for constant interaction by a human driver. Instead they use multiple sensors to observe their environment and act accordingly to observed stimuli. In order to avoid accidents, the reaction to these stimuli needs to happen in a sufficiently short amount of time. To keep implementation overhead and cost low, it is highly beneficial to know the reaction time of a system as soon as possible. Thus, being able to assess their performance already at design time allows system architects to make informed decisions when comparing software components for the use in automated vehicles. In the presented thesis, I analysed the applicability of architecture-based performance prediction in the context of automated vehicles using the Palladio Approach. In particular, I focused on the prediction of design-time worst-case reaction time as the reaction ability of automated vehicles, which is a crucial metric when assessing their performance.  +
Manual feature engineering is a time consuming and costly activity, when developing new Machine Learning applications, as it involves manual labor of a domain expert. Therefore, efforts have been made to automate the feature generation process. However, there exists no large benchmark of these Automated Feature Generation methods. It is therefore not obvious which method performs well in combination with specific Machine Learning models and what the strengths and weaknesses of these methods are. In this thesis we present an evaluation framework for Automated Feature Generation methods, that is integrated into the scikit-learn framework for Python. We integrate nine Automated Feature Generation methods into this framework. We further evaluate the methods on 91 datasets for classification problems. The datasets in our evaluation have up to 58 features and 12,958 observations. As Machine Learning models we investigate five models including state of the art models like XGBoost.  +
This thesis aims to evaluate the component architecture generated by component-based software systems after reverse engineering. The evaluation method involves performing a manual analysis of the respective software systems and then comparing the component architecture obtained through the manual analysis with the results of reverse engineering. The goal is to evaluate a number of parameters, with a focus on correctness, related to the results of reverse engineering. This thesis presents the specific steps and considerations involved in manual analysis. It will also perform manual analysis on selected software systems that have already undergone reverse engineering analysis and compare the results to evaluate the differences between reverse engineering and ground truth. In summary, this paper evaluates the accuracy of reverse engineering by contrasting manual analysis with reverse engineering in the analysis of software systems, and provides some direction and support for the future development of reverse engineering.  +
Die Wahrung von Vertraulichkeit ist essentiell für moderne Softwaresysteme. Eine Überprüfung auf Probleme bereits während der Entwurfsphase ermöglicht eine effiziente Fehlerbehebung. Mit dem datenzentrierten Palladio-Komponenten-Modell (DPCM) ist eine solche Prüfung möglich. Im Rahmen der Arbeit soll der Ansatz über eine realistische Fallstudie anhand der Corona-Warn-App evaluiert werden. Dazu müssen zunächst aus den Entwurfsdokumenten Vertraulichkeitsanforderungen extrahiert werden, um anschließend deren Einhaltung prüfen zu können. Um den Ansprüchen an ein systematisches und nachvollziehbares Vorgehen bei der Evaluierung zu genügen, wird zunächst ein Prozess zur Anforderungsextraktion konzipiert. Die Evaluation des DPCM findet anschließend für die Qualitätseigenschaften der Ausdrucksmächtigkeit und Genauigkeit statt. Das Ergebnis der Arbeit besteht aus einem Katalog von Vertraulichkeitsanforderungen für die Corona-Warn-App, dem entwickelten Extraktionsprozess, sowie initialen Ergebnissen für die Evaluation des DPCM.  +
Die binäre Klassifikation von Daten mit unbalancierter Klassenverteilung ist ein relevantes Data-Mining-Problem. In vielen Anwendungsgebieten tritt die interessierende Klasse viel seltener auf als die Mehrheitsklasse, beispielsweise in der medizinischen Diagnose. Standard-Lernalgorithmen und -Evaluationsmaße sind in solchen Situationen nicht gut geeignet. In der Literatur gibt es viele Ansätze, die dieses Problem mit geeigneteren Evaluationsmaßen und Lernmethoden adressieren. Die Frage, unter welchen Umständen welche der Lernmethoden am besten funktionieren, soll durch eine umfassende experimentelle Vergleichsstudie beantwortet werden. Ein weiteres Ziel dieser Masterarbeit ist, den Einfluss verschiedener Datencharakteristiken auf die Performanz der Methoden mithilfe von Meta-Learning zu untersuchen.  +
Die binäre Klassifikation von Daten mit unbalancierter Klassenverteilung ist ein relevantes Data-Mining-Problem. In vielen Anwendungsgebieten tritt die interessierende Klasse wesentlich seltener auf als die Mehrheitsklasse. Standard-Klassifikationsalgorithmen und -Evaluationsmaße sind in solchen Situationen nicht gut geeignet. In der Literatur gibt es viele Ansätze, die dieses Problem mit geeigneteren Evaluationsmaßen und Lernmethoden adressieren. Wir führen eine umfassende experimentelle Vergleichsstudie mit vielen Lernmethoden, Evaluationsmaßen und Klassifikationsalgorithmen durch, um herauszufinden, wie gut die Performanz der Methoden auf einer Vielzahl von Datensätzen ist. Im zweiten Teil unserer Arbeit untersuchen wir den Zusammenhang zwischen verschiedenen Datencharakteristiken und der Performanz der Methoden mithilfe von Meta-Learning.  +
Programming assignments for students are target of plagiarism. Especially for graded assignments, instructors want to detect plagiarism among the students. For larger courses, however, manual inspection of all submissions is a resourceful task. For this purpose, there are numerous tools that can help detect plagiarism in submissions. Many well-known plagiarism detection tools are token-based detectors. In an abstraction step, they map source code to a list of tokens, and such lists are then compared with each other. While there is much research in the area of comparison algorithms, the mapping is often only considered superficially. In this work, we conduct two experiments that address the issue of token abstraction. For that, we design different token abstractions and explain their differences. We then evaluate these abstractions using multiple datasets. We show that different abstractions have pros and cons, and that a higher abstraction level does not necessarily perform better. These findings are useful when adding support for new programming languages and for improving existing plagiarism detection tools. Furthermore, the results can be helpful to choose abstractions tailored to specific requirements.  +
Policy makers face the difficult task to make far-reaching decisions that impact the life of the the entire population based on uncertain parameters that they have little to no control over, such as environmental impacts. Often, they use scenarios in their decision making process. Scenarios provide a common and intuitive way to communicate and characterize different uncertain outcomes in many decision support applications, especially in broad public debates. However, they often fall short of their potential, particularly when applied for groups with diverse interests and worldviews, due to the difficulty of choosing a small number of scenarios to summarize the entire range of uncertain future outcomes. Scenario discovery addresses these problems by using statistical or data-mining algorithms to find easy-to-interpret, policy-relevant regions in the space of uncertain input parameters of computer simulation models. One of many approaches to scenario discovery is subgroup discovery, an approach from the domain of explainable Artificial Intelligence. In this thesis, we test and evaluate multiple different subgroup discovery methods for their applicabilty to scenario discovery applications.  +
Large language models like T5 perform excellently on various NLI benchmarks. However, it has been shown that even small changes in the structure of these tasks can significantly reduce accuracy. I build upon this insight and explore how robust the NLI skills of T5 are in three scenarios. First, I show that T5 is robust to some variations in the MNLI pattern, while others degenerate performance significantly. Second, I observe that some other patterns that T5 was trained on can be substituted for the MNLI pattern and still achieve good results. Third, I demonstrate that the MNLI pattern translate well to other NLI datasets, even improving accuracy by 13% in the case of RTE. All things considered, I conclude that the robustness of the NLI skills of T5 really depend on which alterations are applied.  +
A recent trend in the development of enterprise systems constitutes the design of software projects as microservices. When migrating monolithic systems, architectural performance models can provide a valuable contribution. In this thesis, we present an approach for the automatic extraction of performance models based on tracing information. The extracted performance models reconstruct architecture, internal structure, control flow as well as usage scenarios of the system and can therefore support the migration process by simulations. The thesis includes an analysis of current standards in the field of distributed tracing, covering both the integration and the granularity of the extracted data. The architecture of our extraction process allows a flexible, vendor-independent adaptation according to the own system landscape. We also provide an evaluation of our approach, which includes aspects concerning the integration of tracing mechanisms, the examination of the extracted model elements as well as the deviation between model predictions and measurements on the real system.  +
Ein Leistungsmodell ermöglicht den Software-Entwicklern eine frühzeitige Analyse von programmierten Komponenten in Bezug auf Leistungseigenschaften. Um Inkonsistenzen zu vermeiden, soll das Leistungsmodell angepasst werden, sobald Entwickler den Quellcode ändern. Eine Aktualisierung von Leistungsmodellen ist kein triviales Problem. Der Ansatz "kontinuierliche Integration von Leistungsmodellen" (Abkürzung: KILM) führt eine automatische inkrementelle Aktualisierung von Leistungsmodellen durch und bietet somit eine Lösung des Problems an. Ein wichtiger Vorteil von diesem Ansatz ist, dass das Leistungsmodell weder manuell angepasst (aufwändig und fehleranfällig), noch nach jeder Änderung neu aufgebaut (ineffizient und aufwändig) werden muss. In dieser Bachelorarbeit wurde der erste Schritt für die vorgestellte Lösung implementiert: der KILM-Ansatz wird mit Git-Repository verknüpft, Änderungen werden aus Commits extrahiert und auf Code- und Leistungsmodelle angewandt. Die Implementierung wurde in einer Fallstudie evaluiert. Auf einem Projekt wurden unterschiedliche Arten von Änderungen simuliert und die Korrektheit von den aktualisierten Code- und Leistungsmodellen überprüft. Die Ergebnisse bestätigen korrekte Aktualisierung von Code- und Leistungsmodellen in den 96,6 % der durchgeführten Tests.  +
F
In jedem Software-System, in dem Nutzerdaten anfallen, muss deren Verarbeitung strengen Auflagen unterliegen. Das bislang strengste und am weitesten verbreitete dieser Gesetze ist die Europäische Datenschutz-Grundverordnung. Um unter dieser Verordnung Daten legal zu verarbeiten, ist es für Software-Entwickler sehr günstig, diese so früh wie möglich im Entwicklungsprozess zu berücksichtigen. Eine Möglichkeit, um datenschutzrechtliche Verstöße zur Designzeit festzustellen, ist die Datenflussanalyse. Dabei werden dem konventionellen Software-Modell noch Eigenschaften hinzugefügt, ebenso wie den modellierten Daten. Aus dem Aufruf-Graphen kann dann ein Datenflussdiagramm erstellt werden, welches anzeigt, welche Daten von welchen Komponenten wohin fließen. Diese Arbeit beschreibt eine Fallstudie, in welcher die Datenflussanalyse in einem konkreten System untersucht wird. Zunächst werden Anforderungen aufgestellt, welche eine Fallstudie der Bereiche Mobilität und Datenschutz erfüllen muss. Der wissenschaftliche Beitrag dieser Arbeit liegt dann in diesen Anforderungen sowie der testweisen Durchführung der Fallstudie. Dabei wird ein fiktives Ride-Pooling Unternehmen modelliert. Das Modell wird mithilfe der Datenflussanalyse untersucht, und aus den Ergebnissen werden Schlüsse über die Analyse gezogen.  +
Serverless computing allows software engineers to develop applications in the cloud without having to manage the infrastructure. The infrastructure is managed by the cloud provider. Therefore, software engineers treat the underlying infrastructure as a black box and focus on the business logic of the application. This lack of inside knowledge leads to an increased testing difficulty as applications tend to be dependent on the infrastructure and other applications running in the cloud environment. While isolated unit and functional testing is possible, integration testing is a challenge, as reliable results are often only achieved after deploying to the deployment environment because infrastructure specifics and other cloud services are only available in the actual cloud environment. This leads to a laborious development process. For this reason, this thesis deals with creating testing strategies for serverless edge computing to reduce feedback cycles and speed up development time. For evaluation, the developed testing strategies are applied to Lambda@Edge in AWS.  +
Datasets, like gene profiles from cancer patients, can have a large number of features. In order to apply prediction techniques, a lot of computing time and memory is needed. A solution to this problem is to reduce the number of features, whereby the main challenge is to still receive a satisfactory prediction performance afterwards. There are many state-of-the-art feature selection techniques, but they all have their limitations. We use Bayesian optimization, a technique to optimize expensive black-box-functions, and apply it to the problem of feature selection. Thereby, we face the challenge to adjust the standard optimization procedure to work with a discrete-valued search space, but also to find a way to optimize the acquisition function efficiently. Overall, we propose 10 different Bayesian optimization feature selection approaches and evaluate their performance experimentally on 28 OpenML classification datasets. We do not only compare the approaches among themselves, but also to 9 state-of-the-art feature selection approaches. Our results state that especially four of our approaches perform well and can compete to most state-of-the-art approaches in terms of prediction performance. In terms of runtime, all our approaches do not perform outstandingly good, but similar to some filter and wrapper approaches.  +
To build highly accurate and robust machine learning algorithms practitioners require data in high quality, quantity and diversity. Available time series data sets often lack in at least one of these attributes. In cases where collecting more data is not possible or too expensive, data-generating methods help to extend existing data. Generation methods are challenged to add diversity to existing data while providing control to the user over what type of data is generated. Modern methods only address one of these challenges. In this thesis we propose a novel generation algorithm that relies on characteristics of time series to enable control over the generation process. We combine classic interpretable features with unsupervised representation learning by modern neural network architectures. Further we propose a measure and visualization for diversity in time series data sets. We show that our approach can create a controlled set of time series as well as adding diversity by recombining characteristics across available instances.  +
Due to privacy concerns and possible high collection costs of real time series data, access to high quality datasets is difficult to achieve for machine learning practitioners. The generation of synthetic time series data enables the study of model robustness against edge cases and special conditions not found in the original data. A requirement to achieve such results in applications when relying on synthetic data is the availability of fine-grained control over the generation to be able to meet the specific needs of the user. Classical approaches relying on autoregressive Models e.g. ARIMA only provide a basic control over composites like trend, cycles, season and error. A promising current approach is to train LSTM Autoencoders or GANs on a sample dataset and learn an unsupervised set of features which in turn can be used and manipulated to generate new data. The application of this approach is limited, due to the not human interpretable features and therefore limited control. We propose various methods to combine handcrafted and unsupervised features to provide the user with enhanced influence of various aspects of the time series data. To evaluate the performance of our work we collected a range of various metrics which were proposed to work well on synthetic data. We will compare these metrics and apply them to different datasets to showcase if we can achieve comparable or improved results.  +
The talk will be held remotely from Zurich at https://global.gotomeeting.com/join/935923965 and will be streamed to room 348. You can attend via GotoMeeting or in person in room 348. Feedback mechanisms have not yet been sufficiently researched in the context of smart systems. From the research and the industrial perspective, this motivates for investigations on how users could be supported to provide appropriate feedback in the context of smart systems. A key challenge for providing such feedback means in the smart system context might be to understand and consider the needs of smart system users for communicating their feedback. Thesis Goal: The goal of this thesis is the creation of innovative feedback mechanisms, that are tailored to a specific context within the domain of smart systems. Already existing feedback mechanisms for software in general and smart systems in particular will be assessed and the users´ needs regarding those mechanisms will be examined. Based on this, improved feedback mechanisms will be developed, either by improving on existing ones or by inventing and implementing new concepts. The overall aim of these innovative feedback mechanisms is to enable smart system users to effectively and efficiently give feedback in the context of smart systems.  +
The users of the location-based services often want to find short routes that pass through multiple Points-of-Interest (PoIs); consequently, developing trip planning queries that can find the shortest routes that passes through user-specified categories has attracted considerable attention. If multiple PoI categories, e.g., restaurant and shopping mall, are in an ordered list (i.e., a category sequence), the trip planning query searches for a sequenced route that passes PoIs that match the user-specified categories in order. Existing approaches find the shortest route based on the user query. A major problem with the existing approaches is that they only take the order of POIs and output the routes which match the sequence perfectly. However, users who they are interested in applying more constraints, like considering the hierarchy of the POIs and the relationship among sequence points, could not express their wishes in the form of query users. Example below, illustrates the problem: Example: A user is interested in visiting three department stores (DS) but she needs to have some food after each visit. It is important for the user to visit three different department stores but the restaurants could be the same. How could the user, express her needs to a trip planning system? The topic of this bachelor thesis is to design such a language for trip planning system which enables the user to express her needs in the form of user queries in a flexible manner.  +
G
Software-Testing ist notwendig, um die Qualität und Funktionsfähigkeit von Softwareartefakten sicherzustellen. Es gibt sowohl automatisierte als auch manuelle Testverfahren. Allerdings sind automatisierte Verfahren, sowie menschliches Testen und skriptbasiertes Testen in Bezug auf Zeitaufwand und Kosten weniger gut skalierbar. Monkey-Testing, das durch zufällige Klicks auf der Benutzeroberfläche gekennzeichnet ist, berücksichtigt die Applikationslogik oft nicht ausreichend. Der Fokus dieser Bachelorarbeit liegt auf dem automatisierten neuroevolutionären Testverfahren, das neuronale Netze als Testagenten verwendet und sie mithilfe evolutionärer Algorithmen über mehrere Generationen hinweg verbessert. Um das Training der Agenten zu ermöglichen und den Vergleich zum Monkey-Testing zu ermöglichen, wurde eine simulierte Version der Lernplattform Anki implementiert. Zur Beurteilung der Testagenten wurde eine Belohnungsstruktur in der simulierten Anwendung entwickelt. Die Ergebnisse zeigen, dass das neuroevolutionäre Testverfahren im Vergleich zum Monkey-Testing in Bezug auf erreichte Belohnungen signifikant besser abschneidet. Dadurch wird die Applikationslogik im Testprozess besser berücksichtigt.  +
Gamification has emerged as a prominent approach in the field of education, aiming to enhance students’ motivation and foster productive and successful long-term learning experiences. This research paper delves into the correlation between various game design elements and intrinsic motivation within educational contexts. Despite the ongoing challenge of identifying the optimal game design elements to augment intrinsic motivation for individual students, this study presents insights drawn from an extensive systematic literature review, encompassing 24 scholarly papers. From the comprehensive analysis, ten distinct game elements were selected for examination: badges, points, leaderboards, virtual currency, progress bars, achievements, avatars, concept maps, storytelling, and feedback. In order to assess the potential of each game design element to heighten intrinsic motivation, a survey utilizing self-created mockups was conducted. The survey outcomes reveal noteworthy trends, particularly emphasizing the combinations of concept maps and achievements, as well as avatars and virtual currency, as highly popular among participants. Moreover, correlations were identified between the frequency of video game engagement and specific game design elements. For instance, individuals who frequently engage in video games displayed a proclivity for selecting leaderboards. Conversely, the study found no significant influence of player types on the preference for specific game design elements. Overall, this research contributes to the advancement of gamification in education by shedding light on the relationship between game design elements and intrinsic motivation. These insights pave the way for the development of tailored gamified approaches that can positively impact students’ motivation.  +
Dependency estimation is an important problem in statistics and is applied frequently in data science. As modern datasets can be very large, dependency estimators should be efficient and leverage as much information from data as possible. Traditional bivariate and multivariate dependency estimators are only capable to estimate dependency between two or n one-dimensional datasets, respectively. In this thesis, we are interested in how to develop estimators that can estimate the dependency between n multidimensional datasets, which we call "generalized dependency estimators". We extend the recently introduced methodology of Monte Carlo Dependency Estimation (MCDE), an effective and efficient traditional multivariate dependency estimator. We introduce Generalized Monte Carlo Dependency Estimation (gMCDE) and focus in particular on the highly relevant subproblem of generalized dependency estimation, known as canonical dependency estimation, which aims to estimate the dependency between two multidimensional datasets. We demonstrate the practical relevance of Canonical Monte Carlo Dependency Estimation (cMCDE) by applying it to feature selection, introducing two methodologies for anytime supervised filter feature selection, Canonical Monte Carlo Feature Selection (cMCFS) and Canonical Multi Armed Bandit Feature Selection (cMABFS). cMCFS directly applies the methodology of cMCDE to feature selection, while cMABFS treats the feature selection problem as a multi armed bandit problem, which utilizes cMCDE to determine relevant features.  +
Quantifying dependencies among variables is a fundamental task in data analysis. It allows to understand data and to identify the variables required to answer specific questions. Recent studies have positioned Monte Carlo Dependency Estimation (MCDE) as a state-of-the-art tool in this field. MCDE quantifies dependencies as the average discrepancy between marginal and conditional distributions. In practice, this value is approximated with a dependency estimator. However, the original implementation of this estimator converges rather slowly, which leads to suboptimal results in terms of statistical power. Moreover, MCDE is only able to quantify dependencies among univariate random variables, but not multivariate ones. In this thesis, we make 2 major improvements to MCDE. First, we propose 4 new dependency estimators with faster convergence. We show that MCDE equipped with these new estimators achieves higher statistical power. Second, we generalize MCDE to GMCDE (Generalized Monte Carlo Dependency Estimation) to quantify dependencies among multivariate random variables. We show that GMCDE inherits all the desirable properties of MCDE and demonstrate its superiority against the state-of-the-art dependency measures with experiments.  +
While standard machine learning approaches rely solely on data to learn relevant patterns, in certain fields, this may not be sufficient. Researchers in the Healthcare domain, have successfully applied causal domain knowledge to improve prediction quality of machine learning models, especially for rare diseases. The causal domain knowledge informs the machine learning model about similar diseases, thus improving the quality of the predictions. However, some domains, such as Cloud Systems Monitoring, lack readily available causal domain knowledge, and thus the knowledge must be approximated. Therefore, it is important to have a systematic investigation of the processes and design decision that affect the knowledge generation process. In this study, we showed how causal discovery algorithms can be employed to generate causal domain knowledge from raw textual logs in the Cloud Systems Monitoring domain. We also investigated the impact of various design choices on the domain knowledge generation process through systematic testing across multiple datasets and shared the insights we gained. To our knowledge, this is the first time such an investigation has been conducted.  +
Graph Neural Networks (GNNs) have demonstrated great potential for simulating physical systems that can be represented as graphs. However, training GNNs presents unique challenges due to the complex nature of graph data. The focus of this thesis is to examine their learning abilities by developing a GNN-based surrogate model for the injection molding process from materials science. While numerical simulations can accurately model the mold filling with molten plastic, they are computationally expensive and require significant trial-and-error for parameter optimization. We propose a GNN-based model that can predict the fill times and physical properties of the mold filling process. We model the mold geometry as a static graph and encode the process information into node, edge, and global features. We employ a self-attention mechanism to enhance the learning of the direction and magnitude of the fluid flow. To further enforce the physical constraints and behaviors of the process, we leverage domain knowledge to construct features and loss functions. We train our model on simulation data, using a multi-step loss to capture the temporal dependencies and enable it to iteratively predict the filling for unseen molds. Thereby, we compare our models with different distance-based heuristics and conventional machine learning models as baselines in terms of predictive performance, computational efficiency, and generalization ability. We evaluate our architectural and training choices, and discuss both the potential applications and challenges of using GNNs for surrogate modeling of injection molding.  +
H
Hidden outliers represent instances of disagreement between a full-space and an ensemble. This adversarial nature naturally replicates the subspace behavior that high-dimensional outliers exhibit in reality. Due to this, they have been proven useful for representing complex occurrences like fraud, critical infrastructure failure, and healthcare data, as well as for their use in general outlier detection as the positive class of a self-supervised learner. However, while interesting, hidden outliers' quality highly depends on the number of subspaces selected in the ensemble out of the total possible. Since the number of subspaces increases exponentially with the number of features, this makes high-dimensional applications of Data Analysis, such as Computer Vision, computationally unfeasible. In this thesis, we are going to study the generation of hidden outliers on the embedded data manifold using deep learning techniques to overcome this issue. More precisely, we are going to study the behavior, characteristics, and performance in multiple use-cases of hidden outliers in the data manifold.  +
Diese Arbeit untersucht die Erklärbarkeit von Sentimentanalyse. Sentimentanalyse ist ein aktuelles Forschungsthema, das sich mit der automatisierten Auswertung der Stimmung von Texten befasst. Dabei klassifiziert ein Entscheider diese als positiv oder negativ. Jedoch sind die meisten hier angewandten Verfahren des maschinellen Lernens Black Boxes, also für Menschen nicht unmittelbar nachvollziehbar. Trotzdem ist es oftmals wünschenswert, ohne Kenntnis des zugrundeliegenden Modells eine Erklärung für die Entscheidung des Klassifikators zu liefern. Der LIME-Algorithmus ist ein gängiger Erklärer für das Problem, der jedoch nur auf Wortebene erklärt. Im Rahmen dieser Arbeit wurde ein Erklärer entwickelt, der auch die größeren Bausteine der Texthierarchie wie Sätze oder Absätze berücksichtigt. Dadurch liefert er einen höheren Informationsgehalt als LIME und er ermöglicht interaktive Erklärungen. Anwendungsfall der Untersuchung sind eine Datenbank aus Filmrezensionen sowie Klassifikatoren in Verbindung mit Word Embeddings.  +
Outlier detection in high-dimensional spaces is a challenging task because of consequences of the curse of dimensionality. Neural networks have recently gained in popularity for a wide range of applications due to the availability of computational power and large training data sets. Several studies examine the application of different neural network models, such an autoencoder, self-organising maps and restricted Boltzmann machines, for outlier detection in mainly low-dimensional data sets. In this diploma thesis we investigate if these neural network models can scale to high-dimensional spaces, adapt the useful neural network-based algorithms to the task of high-dimensional outlier detection, examine data-driven parameter selection strategies for these algorithms, develop suitable outlier score metrics for these models and investigate the possibility of identifying the outlying dimensions for detected outliers.  +
I
In der modernen Softwareentwicklung sind modellbasierte Analysen weit verbreitet. Software-Metriken wie die Vorhersage der Cache-Nutzung haben heute ein breites Anwendungsspektrum. Diese Analysen bedürfen ebenso wie traditionelle objektorientierte Programme der Pflege. Bad Smells und ihre Auswirkungen in objektorientiertem Quellcode sind gründlich erforscht worden. Dies fehlt bei der modellbasierten Analyse. Wir haben uns mit objektorientierten Bad Smells beschäftigt und nach ähnlichen Problemen in der modellbasierten Analyse gesucht. Schlechte Gerüche in der Analyse sind ein Faktor, der zur Qualität der Analysesoftware beiträgt. Eine geringere Qualität erschwert den Entwicklungsprozess der Analyse. Wir haben zehn neue Bad Smells entdeckt. Wir haben Algorithmen zur Identifizierung und zum Refaktorisieren für sie entwickelt. Wir stellen Implementierungen der Identifizierungsalgorithmen zur Verfügung und bewerten sie an- hand realer Software. Wir haben versucht, Bad Smells in bestehender Analysesoftware wie Camunda zu erkennen. Wir haben diese Bad Smells in den vorhandenen Analysen gefunden.  +
Die Rückverfolgbarkeit zwischen Anforderungen ist ein wichtiger Teil der Softwareentwicklung. Zusammenhänge werden dokumentiert und können für Aufgaben wie Auswirkungs- oder Abdeckungsanalysen verwendet werden. Da das Identifizieren von Rückverfolgbarkeitsverbindungen von Hand zeitaufwändig und fehleranfällig ist, ist es hilfreich, wenn automatische Verfahren eingesetzt werden können. Anforderungen werden häufig während der Entwicklung verfeinert. Entstehende Anforderungen lassen sich zu den ursprünglichen Anforderungen zurückverfolgen. Die entstehenden Anforderungen befinden sich auf einem anderen Abstraktionslevel. Dies erschwert die automatische Identifizierung von Rückverfolgbarkeitsverbindungen. Auf großen Textkorpora trainierte Sprachmodelle stellen eine mögliche Lösung für dieses Problem dar. In dieser Arbeit wurden drei auf Sprachmodellen basierende Verfahren entwickelt und verglichen: Feinanpassung einer Klassifikationsschicht, Ausnutzen der Ähnlichkeit der jeweiligen Satzeinbettungen und eine Erweiterung des zweiten Verfahrens, bei dem zusätzlich zunächst Cluster gebildet werden. Es wurden sechs öffentlich verfügbare Datensätze verwendet, um die Verfahren zu evaluieren. Von den drei Verfahren erreichen jeweils das Sprachmodell mit Klassifikationsschicht und das Ausnutzen der Ähnlichkeit zwischen Satzeinbettungen für drei Datensätze die besten Ergebnisse, die aber hinter den Ergebnissen von anderen aktuellen Verfahren zurückbleiben. Das feinangepasste Sprachmodell mit Klassifikationsschicht erzielt eine Ausbeute von bis zu 0,96 bei einer eher geringen Präzision von 0,01 bis 0,26.  +
The automatic identification of requirements, and their classification according to their security objectives, can be helpful to derive insights into the security of a given system. However, this task requires significant security expertise to perform. In this thesis, the capability of modern Large Language Models (such as GPT) to replicate this expertise is investigated. This requires the transfer of the model's understanding of language to the given specific task. In particular, different prompt engineering approaches are combined and compared, in order to gain insights into their effects on performance. GPT ultimately performs poorly for the main tasks of identification of requirements and of their classification according to security objectives. Conversely, the model performs well for the sub-task of classifying the security-relevance of requirements. Interestingly, prompt components influencing the format of the model's output seem to have a higher performance impact than components containing contextual information.  +
Energy data can be used to gain insights into production processes. In the industrial domain, sensors have high sampling rates, resulting in large time series. Therefore, aggregation techniques are used to reduce computation times and memory requirements of data mining techniques like clustering. However, it is unclear what effects the aggregation has on clustering results and how these effects could be described. In our work, we propose measures to analyse the impact of aggregation on clustering and evaluate them experimentally. In particular, we aggregate with standard summary statistics and assess the impact using clustering structure measures, internal validity indices, external validity indices and instance-based forecasting. We adapt these evaluation measures and other data mining techniques to our use case. Furthermore, we propose a decision framework which allows to choose an aggregation level and other experimental settings, considering the trade-off between clustering quality and computational cost. Our extensive experiments comprise the cross-product of 6 physical attributes, 7 clustering algorithms, 7 aggregation techniques, 9 aggregation levels and 13 time series dissimilarities. We use real-world data from different machines and sensors of a production site at the KIT Campus North, extracting time series of fixed and variable length. Overall, we find that clustering results become less similar the more the data is aggregated. However, the exact effect and value of evaluation measures depends on the type of aggregate, clusteringalgorithm, dataset and dissimilarity measure.  +
The IPD defined CHQL, a query algebra that enables to formalize queries about conceptual history. CHQL is currently implemented in MapReduce which offers less flexibility for query optimization than relational database systems does. The scope of this thesis is to implement the given operators in SQL and analyze performance differences by identifying limiting factors and query optimization on the logical and physical level. At the end, we will provide efficient query plans and fast operator implementations to execute CHQL queries in relational database systems.  +
Relational database management systems have an important place in the informational revolution. Their release on the market facilitates the storing and analysis of data. In the last years, with the release of large temporal text corpora, it was proven that domain experts in conceptual history could also benefit from the performance of relational databases. Since the relational algebra behind them lacks special functionality for this case, the Conceptual History Query Language (CHQL) was developed. The first result of this thesis is an original implementation of the CHQL operators in a relational database, which is written in both SQL and its procedural extension. Secondly, we improved substantially the performance with the trigram indexes. Lastly, the query plan analysis reveals the problem behind the query optimizers choice of inefficient plans, that is the inability of predicting correctly the results from a stored function.  +
Auch wenn der Erhalt von Feedback ein wichtiger Teil des Lernprozesses ist, gibt es zu manchen Ansätzen für Feedback bisher kaum wissenschaftliche Arbeiten, welche diese in Onlinekursen isoliert betrachten. Deshalb wurden für diese Arbeit zwei Ansätze für eine genauere Untersuchung ausgewählt: Erstens ein Fortschrittsbalken zur Anzeige des Kursfortschritts und zweitens ein Overlay mit durch den Kursersteller einstellbaren Nachrichten. Damit die Auswirkungen untersucht werden können, wurden diese Feedbackmechanismen auf eine bereits bestehende Webseite mit Onlinekursen, namens "Rockstartit", implementiert. Die Implementation der Feedbackmechanismen auf der in "WordPress" mit dem Plugin "MasterStudy LMS" entwickelten Webseite, wurde dokumentiert und bewertet. Zuletzt wurde eine Evaluation zum Fortschrittsbalken durchgeführt und ein Ansatz für eine Evaluation des Overlays vorgeschlagen.  +
Durch die Verwendung von Software-Anwendungen in verschiedenen Kontexten entsteht eine überladene Benutzeroberfläche. Zur Unterteilung der Benutzeroberfläche wird ein Authority-Mechanismus verwendet. Die bisherigen Konzepte für einen Authority-Mechanismus sind entweder nicht in Eclipse 4 RCP umsetzbar oder erfüllen nicht die Anforderungen, die von der Industrie an einen Authority-Mechanismus gestellt werden. Diese Lücke wird mit einem Konzept für einen dynamischen Authority-Mechanismus geschlossen. Durch eine Implementierung des Authority-Mechanismus in einer bestehenden Software-Anwendungen aus der Industrie wird die Kompatibilität des Konzeptes mit den Anforderungen bestätigt.  +
SAP Document Information Extraction (DOX) is a service to extract logical entities from scanned documents based on the well-known Transformer architecture. The entities comprise header information such as document date or sender name, and line items from tables on the document with fields such as line item quantity. The model currently needs to be trained on a huge number of labeled documents, which is impractical. Also, this hinders the deployment of the model at large scale, as it cannot easily adapt to new languages or document types. Recently, pretraining large language models with self-supervised learning techniques have shown good results as a preliminary step, and allow reducing the amount of labels required in follow-up steps. However, to generalize self-supervised learning to document understanding, we need to take into account different modalities: text, layout and image information of documents. How to do that efficiently and effectively is unclear yet. The goal of this thesis is to come up with a technique for self-supervised pretraining within SAP DOX. We will evaluate our method and design decisions against SAP data as well as public data sets. Besides the accuracy of the extracted entities, we will measure to what extent our method lets us lower label requirements.  +
Techniques for extracting relevant information from documents have made significant progress in recent years and became a key task in the digital transformation. With deep neural networks, it became possible to process documents without specifying hard-coded extraction rules or templates for each layout. However, such models typically have a very large number of parameters. As a result, they require many annotated samples and long training times. One solution is to create a basic pretrained model using self-supervised objectives and then to fine-tune it using a smaller document-specific annotated dataset. However, implementing and controlling the pretraining and fine-tuning procedures in a multi-modal setting is challenging. In this thesis, we propose a systematic method that consists in pretraining the model on large unlabeled data and then to fine-tune it with a virtual adversarial training procedure. For the pretraining stage, we implement an unsupervised informative masking method, which improves upon standard Masked-Language Modelling (MLM). In contrast to randomly masking tokens like in MLM, our method exploits Point-Wise Mutual Information (PMI) to calculate individual masking rates based on statistical properties of the data corpus, e.g., how often certain tokens appear together on a document page. We test our algorithm in a typical business context at SAP and report an overall improvement of 1.4% on the F1-score for extracted document entities. Additionally, we show that the implemented methods improve the training speed, robustness and data-efficiency of the algorithm.  +
Human Activity Recognition (HAR) from accelerometers is a fundamental problem in ubiquitous computing. Machine learning based recognition models often perform poorly when applied to new users that were not part of the training data. Previous work has addressed this challenge by personalizing general recognition models to the motion pattern of a new user in a static batch setting. The more challenging online setting has received less attention. No samples from the target user are available in advance, but they arrive sequentially. Additionally, the user's motion pattern may change over time. Thus, adapting to new and forgetting old information must be traded off. Finally, the target user should not have to do any work to use the recognition system by labeling activities. Our work addresses this challenges by proposing an unsupervised online domain adaptation algorithm. It works by aligning the feature distribution of all the subjects, sources and target, within deep neural network layers.  +
Smart Meters become more and more popular. With Smart Meter, new privacy issues arise. A prominent privacy issue is disaggregation, i.e., the determination of appliance usages from aggregated Smart Meter data. The goal of this thesis is to evaluate load profile perturbation and temporal aggregation techniques regarding their ability to prevent disaggregation. To this end, we used a privacy operator framework for temporal aggregation and perturbation, and the NILM TK framework for disaggregation. We evaluated the influence on disaggregation quality of the operators from the framework individually and in combination. One main observation is that the de-noising operator from the framework prevents disaggregation best.  +
A power grid has to ensure high voltage quality, i.e., the voltage should be stable at all times. Poor voltage quality stresses all connected devices, leading to damage, misbehavior, and accelerated aging. So-called Smart Transformers (ST) can prevent blackouts in the case of a problem in a higher voltage grid. STs need information about the “voltage sensitivity”, i.e., how a newly added or removed node or the change of the signal formed voltages will change the grids voltage. To measure voltage sensitivity, STs periodically introduce targeted disturbances into the electricity grid. Observing the resulting voltage change gives indications about the voltage sensitivity. The goal of my thesis is, to find out if it is possible to predict the Voltage Sensitivity with feeding less (or even no) disturbances into the grid.  +
Die Begriffsgeschichte, als Konzept geschichtswissenschaftlicher Forschung, befasst sich mit der historischen Entwicklung der Semantik einzelner Begriffe. Hierbei bildet oft Wortursprung, Sprachgebrauch sowie Verbreitung Gegenstand wissenschaftlicher Untersuchungen. Die Bachelorarbeit setzt sich mit der Kombination von Informationstechnologien, in Form von Datenbanken, mit der Forschungsarbeit der Historiker auseinander. Ziel ist es Einflussfaktoren auf die Semantik von Wörtern zu identifizieren. Dabei liegt der Fokus auf einer vollständigen Abdeckung des Themenbereiches, sowie auf einer Strukturierung der einzelnen Informationsbedürfnisse. Im Anschluss der Identifikation der Informationsbedürfnisse sollen einzelne Datenbankanfragen/Queries formuliert werden, die es ermöglichen sollen die entsprechenden Semantischen Entwicklungen der Wörter darzustellen, sowie deren Untersuchung zu vereinfachen.  +
Injection molding simulations are important tools for the development of new injection molds. Existing simulations mostly are numerical solvers based on the finite element method. These solvers are reliable and precise, but very computionally expensive even on simple part geometries. In this thesis, we aim to develop a faster injection molding simulation based on Graph Neural Networks (GNNs). Our approach learns a simulation as a composition of three functions: an encoder, a processor and a decoder. The encoder takes in a graph representation of a 3D geometry of a mold part and returns a numeric embedding of each node and edge in the graph. The processor updates the embeddings of each node multiple times based on its neighbors. The decoder then decodes the final embeddings of each node into physically meaningful variables, say, the fill time of the node. The envisioned GNN architecture has two interesting properties: (i) it is applicable to any kind of material, geometry and injection process parameters, and (ii) it works without a “time integrator”, i.e., it predicts the final result without intermediate steps. We plan to evaluate our architecture by its accuracy and runtime when predicting node properties. We further plan to interpret the learned GNNs from a physical perspective.  +
Numerical filling simulations are an important tool for the development of injection molding parts. Existing simulations rely on numerical solvers based on the finite element method. These solvers are reliable and precise, but very computationally expensive even on simple part geometries. In this thesis, we aim to develop a faster injection molding simulation based on Graph Neural Networks (GNNs) as a surrogate model. Our approach learns a simulation as a composition of three functions: an encoder, a processor and a decoder. The encoder takes in a graph representation of a 3D geometry of an injection molding part and returns a numeric embedding of each node in the graph. The processor updates the embeddings of each node multiple times based on its neighbors. The decoder then decodes the final embeddings of each node into physically meaningful variables, say, the fill state of the node. Our model can predict the progression of the flow front during a time step with a fixed size. To simulate a full mold filling process, our model is applied sequentially until the entire mold is filled. Our architecture is applicable to any kind of material, geometry and injection process parameters. We evaluate our architecture by its accuracy and runtime when predicting node properties. We also evaluate our models transfer learning ability on a real world injection molding part.  +
Modellgetriebene Softwareentwicklung (MDD) ist ein Paradigma der Softwareentwicklung, in dem das Modell eine zentrale Rolle spielt. In der MDD wird das Problemfeld durch das Model abstrakt und repräsentativ beschrieben. Im Laufe der Entwicklung wird das Modell durch Modelltransformation schrittweise konkretisiert und schließlich in Programmcode umgewandelt. Je umfangreicher und komplexer das Problemfelds ist, desto größer ist die Anzahl der Modellelemente und desto komplexer ist der Zusammenhang zwischen den Modellelementen. Aus diesem Grund ist die Transformation eines solch großen Modells zeitaufwendig und fehleranfällig. Es werden in der Entwicklung mehrmals Test durchgeführt, um die Korrektheit des Modells und der Transformation zu gewährleisten. Die große Anzahl der Elemente im Modell verlangsamt den Test und erschwert das Finden der Fehlerursache im Modell und in der Transformation. Daher wurde im Rahmen dieser Bachelorarbeit untersucht, ob ein Ausschnitt des Modells existiert, welcher folgende Eigenschaften hat: Dieser Ausschnitt soll nur Teile des originalen Modells enthalten. Weiter sollen mit diesem Ausschnitt alle Fehler des vollständigen Modells repräsentiert werden können. Die Ursache und Korrektur des fehlerhaften Modells und der fehlerhaften Transformation werden im Rahmen dieser Arbeit nicht untersucht. Die Arbeit konzentriert sich auf das Erstellen und Untersuchen dieses Ausschnitts des Modells.  +
In recent times, companies are increasingly looking to migrate their legacy software system to a microservice architecture. This large-scale refactor is often motivated by concerns over high levels of interdependency, developer productivity problems and unknown boundaries for functionality. However, modernizing legacy software systems has proven to be a difficult and complex process to execute properly. This thesis intends to provide a mean of decision support for this migration process in the form of an accurate and meaningful performance monitoring instrumentation and a performance model of said system. It specifically presents an instrumentation concept that incurs minimal performance overhead and is generally compatible with legacy systems implemented using object-oriented programming paradigms. In addition, the concept illustrates the extraction of performance model specifics with the monitoring data. This concept was developed on an enterprise legacy system provided by Capgemini. This concept was then implemented on this system. A subsequent case study was conducted to evaluate the quality of the concept.  +
Today it is hardly possible to find a business process (BP) that does not involve working with an information system (IS). In order to better plan and improve such BPs a lot of research has been done on modeling and analysis of BPs. Given the dependency between BPs and IS such assessment of BPs should take the IS into account. Furthermore, in most assessment of BPs only the functionality, but not the so called non-functional requirements (NFR) are taken into account. This is not adequate, since NFRs influence BPs just as they influence IS. In particular the NFR reliability is interesting for planning of BPs in business environments. Therefore, the presented approach provides an integrated reliability analysis of BPs and IS. The proposed analysis takes humans, device resources and the impact from the IS into account. In order to model reliability information it has to be determined, which metrics will be used for each BP element. Thus a structured literature search on reliability modeling and analysis is conducted in seven resources. Through the structured search 40 papers on modeling and analysis of BP reliability were found. Ten of them were classified as relevant for the topic. The structured search revealed that no approach allows for modeling reliability of activities and resources separate from each other. Moreover, there is no common answer on how to model human resources in BPs. In order to enable such an integrated approach the reliability information of BPs is modeled as an extension of the IntBIIS approach. BP actions get a failure probability and the resources are extended with two reliability related attributes. For device resources the commonly used MTTF and MTTR are added in order to provide reliability information. Roles, that are associated with actor resources, are annotated with MTTF and a newly developed MTTRepl. The next step is a reliability analysis of an BP including the IS. Markov chains and reduction rules are used to analyze the BP reliability. This approach is exemplary implemented with Java in the context of PCM, that already provides analysis for IS. The result of the analysis is the probability of successful execution of the BP including the IS. An evaluation of the implemented analysis presents that it is possible to analyze the reliability of a BP including all resources and the involved IS. The results show that the reliability prediction is more accurate, when BP and IS are assessed through a combined analysis.  
Moderne Softwaresysteme müssen einer Vielzahl von Sicherheitsanforderungen gerecht werden. Diese Anforderungen scheinen im Laufe der Zeit immer strenger zu werden. Heutzutage führt ein Softwaresystem, das Vertraulichkeitsanforderungen nicht erfüllt, oft zur unbeabsichtigten Offenlegung sensibler Daten. Dies ist oft mit finanziellen Kosten verbunden, da die DSGVO Bußgelder eingeführt und erhöht hat, kann aber auch den Ruf eines Unternehmens beeinträchtigen und zu Kundenverlusten führen. Viele Sicherheitslücken können aus Diskrepanzen zwischen der Architekturplanung und der Implementierung des Codes entstehen. Aus diesem Grund untersucht diese Arbeit die Integration einer statischen, architekturbasierten Vertraulichkeitsanalyse mit einer statischen, codebasierten Informationsflussanalyse. Durch die Kombination dieser beiden Analysen möchten wir zeigen, dass wir eine Diskrepanz zwischen Design und Implementierung identifizieren können. Der in dieser Arbeit gewählte Ansatz behandelt die Architekturplanung als das beabsichtigte Verhalten des Systems. Es werden die erforderlichen Artefakte generiert, um eine codebasierte Analyse durchzuführen und zu überprüfen, ob die auf der Architektur definierten Eigenschaften auf die Implementierung anwendbar sind. In einer kleinen Studie haben wir die Durchführbarkeit des Ansatzes evaluiert. Zusammenfassend zielt diese Arbeit darauf ab, die Lücke zwischen der architekturellen Sicht und der Codesicht zu überbrücken, indem Vertraulichkeitseigenschaften in beiden verbunden werden.  +
Monitoring of time series data is increasingly important due to massive data generated by complex systems, such as industrial production lines, meteorological sensor networks, or cloud computing centers. Typical time series monitoring tasks include: future value forecasting, detecting of outliers or computing the dependencies. However, the already existing methods for time series monitoring tend to ignore the background information such as relationships between components or process structure that is available for almost any complex system. Such background information gives a context to the time series data, and can potentially improve the performance of time series monitoring tasks. In this bachelor thesis, we show how to incorporate structured background information to improve three different time series monitoring tasks. We perform the experiments on the data from the cloud computing center, where we extract background information from system traces. Additionally, we investigate different representations and quality of background information and conclude that its usefulness is independent from a concrete time series monitoring task.  +
Cloud systems may consist of collections of smaller software components (in some cases called microservices), possibly written in different programming languages and hosted across various hardware nodes. These components require continuous adaptation to changing workload and privacy constraints. There exist approaches solving this problem already, but they come along with limitations including binding to a certain platform or programming languages and not accurate handling of multi-host applications. This thesis presents an approach to platform-independent observing of cloud applications, including comprehensive monitoring of relationships between components of the system. The concept of a time series database is used under the hood for storing monitoring data. It gets then transformed into the format needed for the performance model extraction. Furthermore, a complete specific implementation of the approach with exemplary tools is provided.  +
Realizing complex software projects is often done by utilizing multiple programming or modelling languages. Separate parts of the software are relevant to certain development tasks or roles and differ in their representation. These separate representations are related and contain redundant information. Such redundancies exist for example with an implementation class for a component description, which has to implement methods with signatures as specified by the component. Whenever redundant information is affected in a development update, other representations that contain redundant information have to be updated as well. This additional development effort is required to keep the redundant information consistent and can be costly. Consistency preservation languages can be used to describe how consistency of representations can be preserved, so that in use with further development tools the process of updating redundant information is automated. However, such languages vary in their abstraction level and expressiveness. Consistency preservation languages with higher abstraction specify what elements of representations are considered consistent in a declarative manner. A language with less abstraction concerns how consistency is preserved after an update using imperative instructions. A common trade-off in the decision for selecting a fitting language is between expressiveness and abstraction. Higher abstraction on the one hand implies less specification effort, on the other hand it is restricted in expressiveness compared to a more specific language. In this thesis we present a concept for combining two consistency specification languages of different abstraction levels. Imperative constructs of a less abstract language are derived from declarative consistency expressions of a language of higher abstraction and combined with additional imperative constructs integrated into the combined language. The combined language grants the benefits of the more abstract language and enables realizing parts of the specification without being restricted in expressiveness. As a consequence a developer profits from the advantages of both languages, as previously a specification that can not be completely expressed with the more abstract language has to be realized entirely with the less abstract language. We realize the concepts by combining the Reactions and Mappings language of the VITRUVIUS project. The imperative Reactions language enables developers to specify triggers for certain model changes and repair logic. As a more abstract language, Mappings specify consistency with a declarative description between elements of two representations and what conditions for the specific elements have to apply. We research the limits of expressiveness of the declarative description and depict, how scenarios are supported that require complex consistency specifications. An evaluation with a case study shows the applicability of the approach, because an existing project, prior using the Reactions language, can be realized with the combination concept. Furthermore, the compactness of the preservation specification is increased.  
The increasing number of computer science students has prompted educators to rely on state-of-the-art source code plagiarism detection tools to deter the submission of plagiarized coding assignments. While these token-based plagiarism detectors are inherently resilient against simple obfuscation attempts, recent research has shown that obfuscation tools empower students to easily modify their submissions, thus evading detection. These tools automatically use dead code insertion and statement reordering to avoid discovery. The emergence of ChatGPT has further raised concerns about its obfuscation capabilities and the need for effective mitigation strategies. Existing defence mechanisms against obfuscation attempts are often limited by their specificity to certain attacks or dependence on programming languages, requiring tedious and error-prone reimplementation. In response to this challenge, this thesis introduces a novel defence mechanism against automatic obfuscation attacks called match merging. It leverages the fact that obfuscation attacks change the token sequence to split up matches between two submissions so that the plagiarism detector discards the broken matches. Match merging reverts the effects of these attacks by intelligently merging neighboring matches based on a heuristic designed to minimize false positives. Our method’s resilience against classic obfuscation attacks is demonstrated through evaluations on diverse real-world datasets, including undergrad assignments and competitive coding challenges, across six different attack scenarios. Moreover, it significantly improves detection performance against AI-based obfuscation. What sets our method apart is its language- and attack-independence while its minimal runtime overhead makes it seamlessly compatible with other defence mechanisms.  +
Correlation analysis aims at discovering and summarizing the relationship between the attributes of a data set. For example, in financial markets, the price of stocks evolves over time. Via a careful estimation of the relationship between stocks, one can try to predict which stock to buy or sell to maximize the wealth of a portfolio. The standard tool of correlation analysis is the computation of a correlation matrix. However, in the case of streams with many dimensions, it is difficult to extract actionable insights from the correlation matrix, as the number of pairs of attributes increases quadratically and the coefficients evolve over time in unforeseen ways. Thus, novel visualization methods are required. In this thesis, we will investigate how to visualize the evolution of correlation in high-dimensional data streams in an intuitive way. We will, for example, discuss visualization methods based on force-directed graphs. Also, we will develop a web interface to visualize the correlation structure of data streams and evaluate it systematically via user studies.  +
Graphical User Interfaces (GUIs) are a common interface to control software. Testing the graphical elements of GUIs is time-consuming for a human tester because it requires interacting with each element, in each possible state that the GUI can be in. Instead, automated approaches are desired, but they often require many interactions with the software to improve their method. For computationally-intensive tasks, this can become infeasible. In this thesis, I investigate the usage of a reinforcement learning (RL) framework for the task of automatically maximizing the code coverage of desktop GUI software using mouse clicks. The framework leverages two neural networks to construct a simulation of the software. An additional third neural network controls the software and is trained on the simulation. This avoids the possibly costly interactions with the actual software. Further, to evaluate the approach, I developed a desktop GUI software on which the trained networks try to maximize the code coverage. The results show that the approach achieves a higher coverage compared to a random tester when considering a limited amount of interactions. However, for longer interaction sequences, it stagnates, while the random tester increases the coverage further, and surpasses the investigated approach. Still, in comparison, both do not reach a high coverage percentage. Only random testers, that use a list of clickable widgets for the interaction selection, achieved values of over 90% in my evaluation.  +
A main issue of using performance models, is the effort it takes to keep them updated. They must stay in synchronization with the actual system architecture and source code, in order to produce meaningful results. To address this shortcoming, there exist techniques, which extract the structure of a system and derive a performance model from existing artifacts, for example, from source code. Existing approaches estimate performance model parameters like loop iterations, branch transitions, resource demands and external call arguments for a whole system at once. We present an approach which estimates parameters of such performance models iteratively. We use monitoring data to estimate performance model parameters which are affected by an iterative source code change. We use a decision tree to build a predictive model for branch transitions and regression analysis to build a predictive model for loop iterations and resource demands. These predictive models can include dependency relations to service call arguments. To estimate resource demands iteratively, we must know all resource demands that are executed in a system. We monitor only a part of a system during one iteration and must estimate which resource demands are executed, but not monitored. We use the previously estimated performance model parameters and the control flow information of services to traverse the control flow in order to detect non-monitored resource demands.  +
K
Especially in large software systems there are cases where only a subset of the dependents of a component needs to be built in order to produce sound build results for a certain change scenario; in the context of this work, this is called a build shortcut. The utilization of build shortcuts shortens build times, as the rebuilding of unafected parts is avoided. This thesis is concerned with the question of how the benefts of build shortcuts can be made accessible to a whole team of developers where not every member is a build expert. Our approach is to model the change specifc dependencies in a Palladio Component Model and determine the components to be built for a given change with the change propagation algorithm of the KAMP approach, posing as an example to integrate it into an agile development process.  +
Das Ziel dieser Thesis ist es, ein Lösungskonzept zu entwickeln, das die Koevolution von MOF-basierten Metamodellen und Metamodellinstanzen automatisiert und vereinfacht. Dies wird dadurch erreicht, dass zunächst die Erfassung der Änderungen analysiert und für die Anwendung auf eine Metamodellvariante ausgebaut wird. Das erarbeitete Konzept erlaubt es, Änderungen an einem Metamodell automatisch in einer historisch verwandten Metamodellvariante nachzuspielen. Soll dagegen eine Änderung nur an der aktuellen Metamodellvariante stattfinden, so wird automatisch eine Transformationsregel basierend auf der gleichen Änderungsaufzeichnung erzeugt. In dem ersten Fall, der Koevolution auf Metamodellebene, wird prototypisch eine Heuristik realisiert, die im Erfolgsfall eine Übereinstimmung eines Artefakts in zwei Metamodellvarianten vorfindet. Mit den Konzepten und Verfahrensweisen lassen sich weitere Heuristiken entwerfen mit dem Ziel, die Fehleranfälligkeit von manuellen Übertragungen der Änderungen zu reduzieren und die Weiterentwicklung der Metamodelle und Metamodellinstanzen zu erleichtern.  +
Unser heutiges Leben wird zunehmend von Assistenzsystemen erleichtert. Hierzu gehören auch die immer häufiger verwendeten intelligenten Sprachassistenten wie Apple's Siri. Statt lästigem Flüge vergleichen auf diversen Internetportalen können Sprachassistenten dieselbe Arbeit tun. Um Informationen verarbeiten und an den passenden Webdienst weiterleiten zu können, muss das Assistenzsystem natürliche Sprache verstehen und formal repräsentieren können. Hierfür werden bei Siri aktive Ontologien (AOs) verwendet, die derzeit mit großem manuellem Aufwand manuell erstell werden müssen. Die am KIT entwickelte Rahmenarchitektur EASIER beschäftigt sich mit der automatischen Generierung von aktiven Ontologien aus Webformularen. Eine Herausforderung bei der Erstellung von AOs aus Webformularen ist die Zuordnung unterschiedlich ausgeprägter Formularelemente mit gleicher Semantik, da semantisch gleiche aber unterschiedlich realisierte Konzepte zu einem AO-Knoten zusammengefasst werden sollen. Es ist daher nötig, semantisch ähnliche Formularelemente identifizieren zu können. Diese Arbeit beschäftigt sich mit der automatischen Identifikation solcher Ähnlichkeiten und der Konstruktion von Abbildungen zwischen Formularelementen.  +
Als Projektpartner im DAM4KMU-Projekt entwickelt das Forschungszentrum für Informatik (FZI) einen Demonstrator und legt besonderen Fokus auf die Erforschung kontextsensitiver Assistenzmethoden. Diese Arbeit soll zu dieser Forschung beitragen und sich besonders mit der Verknüpfung der Anforderungen beschäftigen. Es soll aus den Anforderungsdokumenten eine Komponentenhierarchie extrahiert werden und jeder Komponente sollen die für sie relevanten Anforderungen zugeordnet werden. Hierzu wurden verschiedene Klassifikatoren trainiert und evaluiert, um Anforderungen in Anforderungsdokumenten zu ermitteln. Weiterhin wurde eine Extraktion von Komponenten entwickelt. Die Ergebnisse sind insgesamt durchwachsen, da die Datenmenge eher klein ist und Anforderungen sehr divers formuliert sein können.  +
Das Erstellen von Trace-Links die beispielsweise Dokumentation mit Entwurfsmodellen verknüpfen ist ein wertvoller Bestandteil der Softwareentwicklung. Da ein manuelles Herauslesen der Trace-Links oft nicht praktikabel ist, sollte dieser Prozess automatisiert werden. Es existieren schon viele verschiedene Ansätze der Trace-Link-Recovery, welche jedoch unterschiedliche Stärken und schwächen haben. In dieser Arbeit wird untersucht, ob die Stärken unterschiedlicher Recovery-Ansätze durch Komposition verknüpft werden können, um ggf. die Schwächen auszugleichen. Dazu habe ich mehrere einfache Kompositionen implementiert und deren Ergebnisse ausgewertet. Dazu wird Ausbeute, Präzision, F1 und F2 verschiedener Kompositionen in drei Fallstudien ermittelt und mit denen der Basis-Ansätze verglichen.  +
As there are many modeling methods of systems, there is always when designing a new system the problem which modeling method to use. The reason is that every modeling method designs the system from a specific viewpoint. However, all of these viewpoints are usually needed together in order to better design a system. It is also time costing to repeat integrating same information in every modeling method in order to be capable of analyzing the system from its viewpoint. In recent years, approaches to combine different modeling viewpoints together in a new modeling method or transforming one modeling method to another has been increasing. Especially there is a great focus on the relation between the data flow modeling and the control flow modeling as both of them are essential to design a good analyzed system. While the data-oriented descriptions are important for the architects to know about the flow of the data in the system and the data dependencies between the different components, they don't allow them to widely analyze the performance of the system as the control-flow-oriented ones do. On the other hand for some properties of the system, the analysis does not require a fine-grained description of the internal detailed behavior of system components which is offered by the control flow modeling. Our goal in this thesis is to deal with these both different available modeling methods of systems. We assume that we are already using data flow modeling to describe our desired system and that we want to further analyze the performance of the system and its control flow. We go through transforming the available data flow model (DFM) to a control flow model (CFM) stub containing all of the available information in the DFM, which can be then simulated with as few modifications. We define some conditions, which we consider that they must exist in the transformation process between DFMs and CFMs in order to be meaningful and valid. Based on these conditions we create mapping rules which maps the available elements in the DFM to their suitable patterns in the Palladio Component Model (PCM), which is a control-flow oriented description language, maintaining all information which is introduced in the DFM. We evaluate our work by going through the elements of the PCM, classifying them and calculating the ratio of the covered elements by the mapping rules to the total elements, which should be existing in order to get a meaningful stub. As a result we prove that we cover about 70 percent of the elements by the mapping rules while we show that the other 30 percent can't be extracted from the information available in the DFM.  
Bei der Produktlinienentwicklung werden Software-Produktlinien(SPLs) meistens Featureorientiert strukturiert und organisiert. Um die gemeinsamen und variablen Merkmale der Produkte einer Produktlinie darzustellen, können Feature-Modelle verwendet werden. Ein Software-Werkzeug zum Erstellen und Editieren von Feature-Modellen ist FeatureIDE, welche die Zustände der Feature-Modelle als Dateien der Extensible Markup Language (XML) persistiert. Bei der Entwicklung von Software-Systemen existieren allerdings mehrere unterschiedliche Artefakte. Diese können sich Informationen mit den Feature-Modellen teilen. Um diese Artefakte und Modelle gemeinsam automatisch evolvieren zu können, werden Konsistenzerhaltungsansätze benötigt. Solche Ansätze sind jedoch nicht mit den persistierten XML-Dateien kompatibel. In dieser Arbeit implementieren wir eine bidirektionale Modell-zu-Text-Transformation, welche die als XML-Dateien persistierten Zustände der FeatureIDE-Modelle in geeignete Modellrepräsentationen überführt, um daraus feingranulare Änderungssequenzen abzuleiten. Diese können zur deltabasierten Konsistenzerhaltung verwendet werden. Für die Modellrepräsentation verwenden wir ein bestehendes Metamodell für Variabilität. Zur Ableitung der Änderungssequenzen wird ein existierendes Konsistenzerhaltungsframework eingesetzt. Wir validieren die Korrektheit der Transformation mithilfe von Round-Trip-Tests. Dabei zeigen wir, dass die in dieser Arbeit implementierte Transformation alle geteilten Informationen zwischen FeatureIDE und dem Variabilitäts-Metamodell korrekt transformiert. Zudem können mithilfe der in dieser Arbeit implementierten Transformation und mit dem verwendeten Konsistenzerhatlungsframework zu 94,44% korrekte feingranulare Änderungssequenzen aus den als XML-Datei persistierten Zuständen der FeatureIDE-Modelle abgeleitet werden.  +
Architekturanalysen können in Architekturmodellen Sicherheitseigenschaften spezifizieren. Diese Spezifikationen können von statischen Sicherheitsanalysen anhand dem Quelltext überprüft werden. Dafür müssen sich diese Modelle alle auf demselben Stand befinden. Die manuelle Konsistenzhaltung der Modelle ist jedoch aufwändig. Daher wird dieser Arbeit ein Konzept für eine automatische Konsistenzhaltung vier verschiedener Modelle umgesetzt, welche als Eingabemodelle für eine statische Sicherheitsanalyse dienen. Diese vier Modelle sind ein Architekturmodell, dessen Quelltext und jeweils dazu passende Annotationen für eine statische Sicherheitsanalyse. Es wird zunächst ein Konzept für die Konsistenzhaltung zwischen diesen vier Modelltypen entwickelt. Für das entwickelte Konzept wurde anhand einer Fallstudie mit vier konkreten Metamodellen in dem Framework Vitruvius eine Konsistenzhaltung implementiert. Für diese wurde auf einer existierenden Konsistenzhaltung zwischen dem Quelltext und der Architekturmodellierung aufgebaut. Diese Implementierung wurde anhand eines Testmodells evaluiert. Diese hat ergeben, dass es machbar ist, anhand des in dieser Arbeit vorgestellten Konzeptes eine Konsistenzhaltung für die Eingabemodelle zu implementieren. Jedoch ist die Implementierung der Regeln aufwändig bei komplexen Abbildungen zwischen den Elementen.  +
Immer mehr Unternehmen stehen heutzutage vor dem Problem, dass eines oder mehrere ihrer Altsysteme auf einer monolithischen Softwarearchitektur basieren, die über Jahre hinweg immer mehr an Komplexität zugenommen hat. Die Weiterentwicklung eines solchen Altsystems ist aufwendig und dementsprechend mit hohen Kosten verbunden. Um diese Kosten längerfristig zu senken, können Architektur-Muster, wie die Microservices Architektur eingesetzt werden. Der Migrationsprozess von einer monolithischen Architektur, hin zu einer Microservices-Architektur, ein komplexer und fehleranfälliger Prozess. Ziel dieser Masterthesis ist die Unterstützung eines solchen Migrationsprozess, indem ein Konzept für eine kontinuierliche Verfeinerung von automatisch extrahierten, architekturellen Performanz-Modellen entwickelt und in einem prototypischen Plug-in umgesetzt wird. Die Thesis beinhaltet ein Konzept zur Durchführung und Speicherung von manuellen Verfeinerungsschritten an extrahierten Performanz-Modellen. Außerdem ermöglicht die Thesis eine Zusammenführung von automatisch extrahierten Performanz-Modellen mit einem zu verfeinernden Performanz-Modell. Ein Ansatz zur Integration des erarbeiteten Konzepts in eine Continuous Integration Umgebung wird ebenfalls präsentiert.  +
Um die Qualität und Glaubwürdigkeit eines Produktes zu erhalten, ist ein systematisches Anforderungsmanagement erforderlich, wobei die Merkmale eines Produkts durch Anforderungen beschrieben werden. Deswegen wurde im Rahmen dieser Arbeit ein Konzept für einen Dokumentationsassistenten entwickelt, mit dem Benutzer strukturierte Anforderungen basierend auf den Satzschablonen nach SOPHIST erstellen können. Dies beinhaltet einen linguistischen Aufbereitungsansatz, der semantische Rollen aus freiem Text extrahiert. Während des Dokumentationsprozesses wurden die semantischen Rollen benutzt, um die passendste Satzschablone zu identifizieren und diese als Hilfestellung dem Benutzer aufzuzeigen. Zudem wurde eine weitere Hilfestellung angeboten, nämlich die Autovervollständigung, die mithilfe von Markovketten das nächste Wort vorhersagen kann. Insgesamt wurden rund 500 Anforderungen aus verschiedenen Quellen herangezogen, um die Integrität des Konzepts zu bewerten. Die Klassifizierung der Texteingabe in eine Satzschablone erreicht ein F1-Maß von 0,559. Dabei wurde die Satzschablone für funktionale Anforderungen mit einem F1-Maß von 0,908 am besten identifiziert. Außerdem wurde der Zusammenhang zwischen den Hilfestellungen mithilfe eines Workshops bewertet. Hierbei konnte gezeigt werden, dass die Anwendung des vorliegenden Konzepts, die Vollständigkeit von Anforderungen verbessert und somit die Qualität der zu dokumentierenden Anforderungen steigert.  +
Die Einhaltung datenschutzrechtlicher Aspekte sind in der Softwareentwicklung von zunehmender Bedeutung. Um den Prozess der Zusammenarbeit zwischen Softwarearchitekten und Rechtsexperten zu vereinfach und eine selbständigere Arbeitsweise des Softwarearchitekten zu erlangen, wird in dieser Bachelorarbeit ein Konzept zum automatisierten Annotieren rechtlicher Kommentare entwickelt. Im ersten Schritt wird ein Katalog relevanter rechtlicher Kommentare zur DSGVO zusammengestellt, welcher im darauf folgenden Schritt zentraler Bestandteil des Annotationsmechanismus ist. Bei diesem werden die formulierten Kommentare den entsprechenden Modellklassen einer DSGVO-Instanz als Paare zugeordnet und ausgegeben. Durch diese Zuordnung erhält der Softwarearchitekt erste Hinweise auf Datenschutzaspekte, die in seinem Softwaremodell relevant sind und die er im Speziellen berücksichtigen sollte. Darüber hinaus wird er für die DSGVO sensibilisiert und in seiner Modellierung unterstützt.  +