Attribut:Kurzfassung

Aus SDQ-Institutsseminar

Dies ist ein Attribut des Datentyps Text.

Unterhalb werden 100 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.  
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.  +