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.
A
With existing search strategies, specific paper contents can only be searched indirectly. Keywords are used to describe the searched content as accurately as possible but many of the results are not related to what was searched for. A classification of these contents, if automated, could extend the search process and thereby allow to specify the searched content directly and enhance current state of scholarly communication. In this thesis, we investigated the automatic classification of scientific papers in the Software Engineering domain. In doing so, a classification scheme of paper contents with regard to Research Object, Statement, and Evidence was consolidated. We then investigate in a comparative analysis the machine learning algorithms Naïve Bayes, Support Vector Machine, Multi-Layer Perceptron, Logistic Regression, Decision Tree, and BERT applied to the classification task.  +
In 2018 wird die neue EU Datenschutzverordnung in Kraft treten. Diese Verordnung beinhaltet empfindliche Strafen für Datenschutzverletzungen. Einer der wichtigsten Faktoren für die Einhaltung der Datenschutzverordnung ist die Verarbeitung von Stammdaten von EU-Bürgern innerhalb der EU. Wir haben für diese Regelung eine Privacy Analyse entwickelt, formalisiert, implementiert und evaluiert. Außerdem haben wir mit iObserve Privacy ein System nach dem MAPE Prinzip entwickelt, dass automatisch Datenschutzverletzungen erkennt und eine alternatives, datenschutzkonformes Systemhosting errechnet. Zudem migriert iObserve Privacy die Cloudanwendung entsprechend dem alternativen Hosting automatisch.  +
Data breaches exposing personal information mean a significant loss of customer trust and leave companies vulnerable to civil lawsuits. This makes identifying problems in early development phases an important part of keeping software development costs predictable and manageable. In this thesis, we present approaches that allow system architects to extract legal specifications from artifacts created during system design and analyze them for GDPR compliance. We provide a model transformation between a DFD representation and a GDPR metamodel, which aims to model some of the complex requirements of the GDPR. The transformations work in both directions while keeping additional information to allow the architect to make changes to the system on either the architectural or legal side of the transformation. We provide an analysis tool that is able to identify GDPR violations on the GDPR metamodel, allowing analysis on both sides of the transformation.  +
Mobile devices are strongly resource-constrained in terms of computing and battery capacity. Cyber-foraging systems circumvent these constraints by offloading a task to a more powerful system in close proximity. Offloading itself induces additional workload and thus additional power consumption on the mobile device. Therefore, offloading systems must decide whether to offload or to execute locally. Power models, which estimate the power consumption for a given workload can be helpful to make an informed decision. Recent research has shown that various hardware components such as wireless network interface cards (WNIC), cellular network interface cards or GPS modules have power states, that is, the power consumption behavior of a hardware component depends on the current state. Power models that consider power states (stateful power models) can be modeled as Power State Machines (PSM). For systems with multiple power states, stateful models proved to be more accurate than models that do not consider power states (stateless models). Manually generating PSMs is time-consuming and limits the practicability of PSMs. Therefore, in this thesis, we explore the possibility of automatically generating PSMs. The contribution of this thesis is twofold: (1) We introduce an automated measurementbased profiling approach (2) and we introduce a step-based approach, which, provided with profiling data, automatically extracts PSMs along with tail states and state transitions. We evaluate the automated PSM extraction in a case study on an offloading speech recognition system. We compare the power consumption prediction accuracy of the generated PSM with the prediction accuracy of a stateless regression based model. Because we measure the power consumption of the whole system, we use along with all WiFi power models the same CPU power model in order to predict the power consumption of the whole system. We find that a slightly adapted version of the generated PSM predicts the power consumption with a mean error of approx. 3% and an error of approx. 2% in the best case. In contrast, the regression model produces a mean error of approx. 19% and an error of approx. 18% in the best case.  
In der vorgestellten Arbeit wird das Potential von Large Language Models (LLMs) für die Automatisierung von GUI-Tests in Webanwendungen untersucht, eine Methode, die gegenüber dem traditionellen Ansatz des Monkey-Testing einige Vorteile bietet. Vier leistungsfähige LLMs, nämlich WizardLM, Vicuna (beide basierend auf LLAMA), GPT-3.5-Turbo und GPT-4-Turbo, werden hinsichtlich ihrer Fähigkeit, umfangreiche und relevante Teile des Codes durch Interaktion mit der Benutzeroberfläche auszuführen, evaluiert. Die Evaluation umfasst Tests an einer einfachen, für diese Studie entwickelten Proof-of-Concept-Anwendung sowie an PHPLiteAdmin, einem komplexeren Open-Source-Datenbank-Management-Tool. Die Ergebnisse zeigen, dass insbesondere die GPT-basierten Modelle in bestimmten Szenarien eine höhere Effizienz als der traditionelle Monkey-Tester aufweisen, vor allem bei der Generierung von sinnvollen Texteingaben. Dies unterstreicht das Innovationspotential von LLMs im Bereich der Software-Tests, zeigt aber auch die Herausforderungen und Grenzen auf, die bei der Anwendung auf komplexere Systeme zu erwarten sind. Diese Arbeit leistet somit einen wichtigen Beitrag zur Diskussion über die Weiterentwicklung und Optimierung automatisierter Testverfahren in der Softwareentwicklung.  +
The development of the transformation model also comes with the appropriate system-level testing to verify its changes. Due to the complex nature of the transformation model, the number of tests increases as the structure and feature description become more detailed. However, executing all test cases for every change is costly and time-consuming. Thus, it is necessary to conduct a selection for the transformation tests. In this presentation, you will be introduced to a change-based test prioritization and transformation test selection approach for early fault detection.  +
In systems with a very dynamic process like Industry 4.0, contexts of all participating entities often change and a lot of data exchange happens with external organizations such as suppliers or producers which brings concern about unauthorized data access. This creates the need for access control systems to be able to handle such a combination of a highly dynamic system and the arising concern about the security of data. In many situations the decision for access control depends on the context information of the requester. Another problem of dynamic system is that the manual development of access policies can be time consuming and expensive. Approaches using automated policy generation have shown to reduce this effort. In this master thesis we introduce a concept which combines context based model-driven security with automated policy generation and evaluate if it is a suitable option for the creation of access control systems and if it can reduce the effort in policy generation. The approach makes use of usage and misusage diagrams which are on a high architectural abstraction level to derive and combine access policies for data elements which are located on a lower abstraction level.  +
One of the most important aspects of software engineering is system performance. Common approaches to verify acceptable performance include running load tests on deployed software. However, complicated workflows and requirements like the necessity of deployments and extensive manual analysis of load test results cause tests to be performed very late in the development process, making feedback on potential performance regressions available much later after they were introduced. With this thesis, we propose PeReDeS, an approach that integrates into the development cycle of modern software projects, and explicitly models an automated performance regression detection system that provides feedback quickly and reduces manual effort for setup and load test analysis. PeReDeS is embedded into pipelines for continuous integration, manages the load test execution and lifecycle, processes load test results and makes feedback available to the authoring developer via reports on the coding platform. We further propose a method for detecting deviations in performance on load test results, based on Welch's t-test. The method is adapted to suit the context of performance regression detection, and is integrated into the PeReDeS detection pipeline. We further implemented our approach and evaluated it with an user study and a data-driven study to evaluate the usability and accuracy of our method.  +
GitHub ist eine der beliebtesten Plattformen für kollaboratives Entwickeln von Software-Projekten und ist eine wertvolle Ressource für Software-Entwickler. Die große Anzahl von Projekten, welche auf diesem Dienst zu finden sind, erschwert allerdings die Suche nach relevanten Projekten. Um die Auffindbarkeit von Projekten auf GitHub zu verbessern, wäre es nützlich, wenn diese in Kategorien klassifiziert wären. Diese Informationen könnten in einer Suchmaschine oder einem Empfehlungssystem verwendet werden. Manuelle Klassifikation aller Projekte ist allerdings wegen der großen Anzahl von Projekten nicht praktikabel. Daher ist ein automatisches Klassifikationssystem wünschenswert. Diese Arbeit befasst sich mit der Problematik, ein automatisches Klassifikationssystem für GitHub-Projekte zu entwickeln. Bei der vorgestellten Lösung werden GitHub-Topics verwendet, welches manuelle Klassifikation von GitHub-Projekten sind, welche von den Eigentümern der Projekte vorgenommen wurden. Diese klassifizierten Projekte werden als Trainingsdaten für ein überwachtes Klassifikationssystem verwendet. Somit entfällt die Notwendigkeit, manuell Trainingsdaten zu erstellen. Dies ermöglicht die Klassifikation mit flexiblen Klassenhierarchien. Im Kontext dieser Arbeit wurde ein Software-Projekt entwickelt, welches die Möglichkeit bietet, Trainingsdaten mithilfe der GitHub-API basierend auf GitHub-Topics zu generieren und anschließend mit diesen ein Klassifikationssystem zu trainieren. Durch einen modularen Ansatz können für den Zweck der Klassifikation eine Vielzahl von Vektorisierungs- und Vorhersagemethoden zum Einsatz kommen. Neue Implementierungen solcher Verfahren können ebenfalls leicht eingebunden werden. Das Projekt bietet zudem Schnittstellen für externe Programme, welche es ermöglicht, einen bereits trainierten Klassifikator für weiterführende Zwecke zu verwenden. Die Klassifikationsleistung des untersuchten Ansatzes bietet für Klassenhierarchien, welche sich gut auf GitHub-Topics abbilden lassen, eine bessere Klassifikationsleistung als vorherige Arbeiten. Bei Klassenhierarchien, wo dies nicht der Fall ist, die Klassifikationsleistung hingegen schlechter.  
Automatisierungssysteme sind langlebige, softwaregesteuerte Systeme, die aufgrund wechselnder Anforderungen typischerweise mehrere Evolutionszyklen durchlaufen. Da Automatisierungshardware und Software eng verzahnt sind betreffen Änderungen am System oft beide Bestandteile und Änderungsausbreitung ist von Hand nur schwer nachvollziehbar. KAMP ist ein existierender Ansatz zur automatischen Änderungsausbreitungsanalyse. Hier werden Metamodelle verwendet um Änderungsausbreitung mithilfe von definierten Regeln zu berechnen. Die hier vorgestellte Bachelorarbeit erweitert KAMP mit dem Ziel, von der Architektur dieser Systeme zu abstrahieren und Anforderungen mit einzubeziehen. Somit soll eine Änderungsausbreitungsanalyse auf Basis von Anforderungsänderungen in Automatisierungssystemen unterstützen werden. Um Anforderungen zu formalisieren werden Metamodelle für Anforderungen und Entwurfsentscheidungen eingebunden. Evaluiert wird auf Basis vordefinierter Evolutionsszenarien eines Labormodells einer Automatisierungsanlage (xPPU).  +
Abgekürzte Quelltextbezeichner stellen ein Hindernis bei der Gewinnung von Informationen aus Quelltext dar. Im Rahmen dieser Arbeit werden Abkürzungsauflösungsverfahren entwickelt, um diese abgekürzten Quelltextbezeichner zu den gemeinten, nicht abgekürzten Begriffen aufzulösen. Zum einen wird die Entscheidung für den besten Auflösungskandidaten mittels worteinbettungsbasierten Ähnlichkeitsfunktionen getroffen. Zum anderen werden Trigramm-Grammatiken verwendet, um die Wahrscheinlichkeit eines Auflösungskandidaten zu bestimmen. Die im Rahmen dieser Arbeit entwickelten Verfahren bauen auf zwei Verfahren auf, welche von Alatawi et al. entwickelt wurden. In diesen werden statistische Eigenschaften von Quelltextabkürzungen, sowie Uni- und Bigramm-Grammatiken verwendet, um die Auflösung einer Abkürzung zu bestimmen. Das präziseste der im Rahmen dieser Arbeit entwickelten Verfahren (das Trigramm-basierte) löst auf einem Beispielquelltext, evaluiert gegen eine von Alatawi et al. bereitgestellte Musterlösung, 70,33% der abgekürzten Quelltextbezeichner richtig auf, und ist damit 3,30 Prozentpunkte besser als das nachimplementierte, präziseste Verfahren von Alatawi et al.  +
Nachverfolgbarkeitsverbindungen zwischen Architektur und Quelltext können das Wissen über ein System erweitern. Aufgrund des Erstellungsaufwands existieren in Softwareprojekten oft keine oder nur unvollständige Nachverfolgbarkeitsinformationen. Diese Arbeit untersucht einen Ansatz mit zwei Schritten, um automatisiert Nachverfolgbarkeitsverbindungen zwischen Architekturmodellelementen und Quelltext zu generieren. Damit die Erstellung von Nachverfolgbarkeitsverbindungen für verschiedene Programmiersprachen und Architektur-Metamodelle vereinheitlicht wird, werden im ersten Schritt aus den vorliegenden Artefakten Modelle erstellt. Der Quelltext wird dabei in ein von der konkreten Programmiersprache unabhängiges Modell überführt. Dafür wird ein Metamodell verwendet, das auf dem von der OMG spezifizierten KDM basiert. Für den zweiten Schritt werden auf den erstellten Modellen arbeitende Heuristiken und Aggregationen definiert. Diese werden genutzt, um die Nachverfolgbarkeitsverbindungen zu generieren. Die Heuristiken nutzen zum Beispiel Paket-, Pfad-, Namen- und Methoden-Informationen. Die Evaluation des Ansatzes nutzt einen dafür erstellten Goldstandard mit fünf Fallstudien. Es werden Nachverfolgbarkeitsverbindungen für PCM, UML, Java und Shell generiert. Für den Mikro-Durchschnitt des F1-Maßes wird ein Wert von 99,11 % erreicht. Fließt jede Komponente und Schnittstelle in gleichem Maße in den Wert ein, beträgt das F1-Maß 93,71 %. Insgesamt können mit dem Ansatz dieser Arbeit also sehr gute Ergebnisse erzielt werden. Für die TEAMMATES-Fallstudie wird mithilfe mehrerer Quelltextversionen der Einfluss der Konsistenz auf die Ergebnisse untersucht. Der Mikro-Durchschnitt des F1-Maßes ist für die konsistentere Version um 6,05 Prozentpunkte höher. Die Konsistenz kann also die Qualität der Ergebnisse beeinflussen.  +
Das Testen von Softwareprojekten ist mit einem hohen Arbeitsaufwand verbunden, dies betrifft insbesondere die grafische Benutzeroberfläche. Verfahren der künstlichen Intelligenz auf der Grundlage neuronaler Netzwerke können genutzt werden, um viele der besonders aufwändigen Aufgaben schneller oder sogar besser zu lösen als herkömmliche Methoden. In dieser Arbeit wird ein neuartiges neuronales Netzwerk auf seine Fähigkeit hin untersucht, eine Software allein anhand der Pixeldaten ihrer Benutzeroberfläche zu testen. Des Weiteren wird ein Framework entwickelt, welches mithilfe von leistungsfähigen GPUs den Trainingsvorgang deutlich beschleunigen kann.  +
Software-Testing ist essenziell zur Gewährleistung der Qualität und Funktionalität von Softwareprodukten. Es existieren sowohl manuelle als auch automatisierte Methoden. Allerdings weisen sowohl automatisierte Verfahren als auch menschliche und skriptbasierte Tests bezüglich Kosteneffizienz und Zeitaufwand Einschränkungen auf. Monkey-Testing, gekennzeichnet durch zufällige Klicks auf der Benutzeroberfläche, berücksichtigt dabei oft nicht ausreichend die Logik der Applikation. Diese Bachelorarbeit konzentriert sich auf die automatisierte neuroevolutionäre Testmethode, die neuronale Netze als Testagenten nutzt und diese mittels evolutionärer Algorithmen über mehrere Generationen hinweg verfeinert. Zur Evaluierung dieser Agenten und zum Vergleich mit Monkey-Testing wurde eine simulierte Version einer Passwort-Manager Applikation eingesetzt. Dabei wurde eine Belohnungsstruktur innerhalb der simulierten Anwendung implementiert. Die Ergebnisse verdeutlichen, dass das neuroevolutionäre Testverfahren im Hinblick auf die erzielten Belohnungen im Vergleich zum Monkey-Testing signifikant besser performt. Dies führt zu einer besseren Berücksichtigung der Anwendungslogik im Testprozess.  +
Die Testautomatisierung ist ein entscheidender Schritt zur Steigerung der Softwarequalität und zur Minimierung von Fehlern. Automatisierte Tests können durch die schnelle und effiziente Identifikation und Behebung von Problemen Zeit und Kosten sparen. Ein entscheidender Aspekt der Softwarequalität ist die Benutzeroberfläche, welche die primäre Schnittstelle für den Anwender darstellt. Für diesen Zweck eignen sich explorative Tests, die Anwendungszustände erkunden. Das effiziente Durchforsten der Anwendungszustände gestaltet sich jedoch als Herausforderung, da die Anzahl der möglichen Pfade durch die Anwendung mit jeder zusätzlichen Interaktion exponentiell ansteigt. Ein vielversprechender Ansatz ist der Einsatz von großen Sprachmodellen (LLMs) zur Generierung von Benutzeraktionen. In dieser Arbeit wird dieser Ansatz in einem realistischen Szenario erprobt und untersucht, wie effektiv LLMs darin sind, Zustände zu erreichen, die mit konventionellen Methoden schwer zugänglich sind.  +
B
Outlier detection is a core task of data stream analysis. As such, many algorithms targeting this problem exist, but tend to treat the data as so-called row stream, i.e., observations arrive one at a time with a fixed number of features. However, real-world data often has the form of a feature-evolving stream: Consider the task of analyzing network data in a data center - here, nodes may be added and removed at any time, changing the features of the observed stream. While highly relevant, most existing outlier detection algorithms are not applicable in this setting. Further, increasing the number of features, resulting in high-dimensional data, poses a different set of problems, usually summarized as "the curse of dimensionality". In this thesis, we propose FeLOF, addressing this challenging setting of outlier detection in feature-evolving and high-dimensional data. Our algorithms extends the well-known Local Outlier Factor algorithm to the feature-evolving stream setting. We employ a variation of StreamHash random hashing projections to create a lower-dimensional feature space embedding, thereby mitigating the effects of the curse of dimensionality. To address non-stationary data distributions, we employ a sliding window approach. FeLOF utilizes efficient data structures to speed up search queries and data updates. Extensive experiments show that our algorithm achieves state-of-the-art outlier detection performance in the static, row stream and feature-evolving stream settings on real-world benchmark data. Additionally, we provide an evaluation of our StreamHash adaptation, demonstrating its ability to cope with sparsely populated high-dimensional data.  +
In modern software development, metamodels play an important role as they build the basis for domain-specific modeling languages, which are used for system design, simulation and code generation. Like any artifact in a software-development process, these languages and their respective models need to evolve over time. However, if metamodels that define those languages are badly designed, the evolution process is complicated and therefore additional effort has to be spent for maintenance. Such design problems are considered as a bad smell. Existing approaches to detect smells in metamodels deal mainly with simple defects or focus only on a small number of smells. Therefore, we present a comprehensive investigation of bad smells and antipatterns by reviewing design smells of object-oriented programming and, if possible, transfer them to metamodeling. These smells are in part automatically detectable, thus, we provide tool support with suitable detection methods as an extension for EMF Refactor. We evaluate this approach by testing every automatically detectable smell with appropriate models and an application of the tool support on an already existing large metamodel to evaluate the suggested refactorings.  +
Active Learning strategies reduce the amount of labeled observations required by modern machine learning systems. These strategies find queries consisting of the most useful observations and ask a human user for their classification. Querying batches of multiple observations at once can provide various benefits, but also introduces additional complexity to the query selection process. While such batch query strategies exist for Multi-class Active Learning, previous applications of One-class Active learning were focused on sequential query strategies, where only one observation is labeled at a time. This work provide a categorization of existing batch query strategies for multi-class classification. Based on this categorization, we then propose multiple different batch query strategies for One-class Classification. We evaluate them with extensive experiments to determine, to what extend the concepts from Multi-class strategies work with One-class Classification. We then show how these new batch query strategies for One-class classification can be used to drastically reduce learning time without requiring more labeled observations than the use of previous sequential query strategies.  +
One-class classifiers learn to distinguish normal objects from outliers. These classifiers are therefore suitable for strongly imbalanced class distributions with only a small fraction of outliers. Extensions of one-class classifiers make use of labeled samples to improve classification quality. As this labeling process is often time-consuming, one may use active learning methods to detect samples where obtaining a label from the user is worthwhile, with the goal of reducing the labeling effort to a fraction of the original data set. In the case of one-class active learning this labeling process consists of sequential queries, where the user labels one sample at a time. While batch queries where the user labels multiple samples at a time have potential advantages, for example parallelizing the labeling process, their application has so far been limited to binary and multi-class classification. In this thesis we explore whether batch queries can be used for one-class classification. We strive towards a novel batch query strategy for one-class classification by applying concepts from multi-class classification to the requirements of one-class active learning.  +
Wrapper feature selection can lead to highly accurate classifications. However, the computational costs for this are very high in general. Bayesian Optimization on the other hand has already proven to be very efficient in optimizing black box functions. This approach uses Bayesian Optimization in order to minimize the number of evaluations, i.e. the training of models with different feature subsets. We propose four different ways to set up the objective function for the Bayesian optimization. On 14 different classification datasets the approach is compared against 14 other established feature selection methods, including other wrapper methods, but also filter methods and embedded methods. We use gaussian processes and random forests for the surrogate model. The classifiers which are applied to the selected feature subsets are logistic regression and naive bayes. We compare all the different feature selection methods against each other by comparing their classification accuracies and runtime. Our approach shows to keep up with the most established feature selection methods, but the evaluation also shows that the experimental setup does not value the feature selection enough. Concluding, we give guidelines how an experimental setup can be more appropriate and several concepts are provided of how to develop the Bayesian optimization for wrapper feature selection further.  +
In machine learning, simpler, interpretable models require significantly more training data than complex, opaque models to achieve reliable results. This is a problem when gathering data is a challenging, expensive or time-consuming task. Data synthesis is a useful approach for mitigating these problems. An essential aspect of tabular data is its heterogeneous structure, as it often comes in ``mixed data´´, i.e., it contains both categorical and numerical attributes. Most machine learning methods require the data to be purely numerical. The usual way to deal with this is a categorical encoding. In this thesis, we evaluate a proposed tabular data synthesis pipeline consisting of a categorical encoding, followed by data synthesis and an optional relabeling of the synthetic data by a complex model. This synthetic data is then used to train a simple model. The performance of the simple model is used to quantify the quality of the generated data. We surveyed the current state of research in categorical encoding and tabular data synthesis and performed an extensive benchmark on a motivated selection of encoders and generators.  +
Rückverfolgbarkeitsinformationen zwischen Quelltext und Anforderungen ermöglichen es Werkzeugen Programmierer besser bei der Navigation und der Bearbeitung von Quelltext zu unterstützen. Um solche Verbindungen automatisiert herstellen zu können, muss die Semantik der Anforderungen und des Quelltextes verstanden werden. Im Rahmen dieser Arbeit wird ein Verfahren zur Beschreibung der geteilten Semantik von Gruppierungen von Programmelementen entwickelt. Das Verfahren basiert auf dem statistischen Themenmodell LDA und erzeugt eine Menge von Schlagwörtern als Beschreibung dieser Semantik. Es werden natürlichsprachliche Inhalte im Quelltext der Gruppierungen analysiert und genutzt, um das Modell zu trainieren. Um Unsicherheiten in der Wahl der Parameter von LDA auszugleichen und die Robustheit der Schlagwortmenge zu verbessern, werden mehrere LDA-Modelle kombiniert. Das entwickelte Verfahren wurde im Rahmen einer Nutzerstudie evaluiert. Insgesamt wurde eine durchschnittliche Ausbeute von 0.73 und ein durchschnittlicher F1-Wert von 0.56 erreicht.  +
Das Verständnis der Absicht von Softwareanforderungen ist essenziell für die automatische Generierung von Informationen zur Rückverfolgbarkeit. Funktionale Anforderungen können verschiedene semantische Funktionen, wie die Beschreibung von erwarteten Funktionalitäten oder Zuständen des Systems, beinhalten. Im Rahmen des INDIRECT-Projektes wird ein Werkzeug zur Klassifikation der semantischen Funktion der Sätze in Anforderungsbeschreibungen entwickelt. Dafür werden verschiedene maschinelle Lernverfahren (Stützvektormaschine, Logistische Regression, Random Forest und Naïve Bayes) auf ihre Eignung für diese Aufgabe überprüft. Um ihre Funktionalität zu evaluieren, werden die Verfahren auf einem Datensatz aus frei verfügbaren Anforderungsbeschreibungen getestet, welcher manuell mit semantischen Funktionen etikettiert wurde. Die Ergebnisse zeigen, dass der Random Forest-Klassifikator unter Verwendung von N-Grammen auf Zeichenebene mit einem F1-Maß von 0,79 die beste Leistung auf unbekannten Projekten liefert. Die Lernverfahren werden zusätzlich mittels einer Kreuzvalidierung auf allen vorhandenen Daten getestet. Dabei erzielt die Stützvektormaschine mit einem F1-Maß von 0,90 die besten Ergebnisse, während der Random Forest-Klassifikator ein F1-Maß von 0.89 erreicht.  +
Natürliche Sprache enthält Aktionen, die ausgeführt werden können. Innerhalb eines Diskurses kommt es häufig vor, dass Menschen eine Aktion mehrmals beschreiben. Dies muss nicht immer bedeuten, dass diese Aktion auch mehrmals ausgeführt werden soll. Diese Bachelorarbeit untersucht, wie erkannt werden kann, ob sich eine Nennung einer Aktion auf eine bereits genannte Aktion bezieht. Es wird ein Vorgehen erarbeitet, das feststellt, ob sich mehrere Aktionsnennungen in gesprochener Sprache auf dieselbe Aktionsidentität beziehen. Bei diesem Vorgehen werden Aktionen paarweise verglichen. Das Vorgehen wird als Agent für die Rahmenarchitektur PARSE umgesetzt und evaluiert. Das Werkzeug erzielt ein F1-Maß von 0,8, wenn die Aktionen richtig erkannt werden und Informationen über Korreferenz zwischen Entitäten zur Verfügung stehen.  +
Die Präsentation orientiert sich an meinem Praktikumsbericht zu meinem sechswöchigen Pflichtpraktikum beim Start-Up Unternehmen Morotai. Meine Hauptaufgabe hierbei waren kleine Programmieraufgaben mit HTML, CSS und JavaScript, um die Funktionalität der Website zu verbessern. Ich werde kurz auf das Unternehmen an sich, auf meine Aufgabenstellung in der Abteilung, der Umsetzung dieser und den konkreten Studienbezug (Studiengang Informationswirtschaft) des Praktikums eingehen.  +
Das Messen der Qualität von Datenfluss-Low-Code-Programmen und auch das Erstellen qualitativ hochwertiger Programme ist schwer. Es entstehen viele Programme mit Anzeichen für schlechte Qualität, die zwar Ergebnisse liefern, aber schlecht wartbar und unverständlich sind. Im Laufe dieser Arbeit wurde die Übertragbarkeit, von klassischen Codemetriken und Graphmetriken überprüft und durchgeführt, um zu evaluieren, welche Metriken sich für die Messung der Qualität von Low-Code-Programmen eignen?  +
Erneuerbare Energien wie Photovoltaik-Anlagen stellen für den Privathaushalt eine Möglichkeit dar, eigenen Strom zu produzieren und damit den Geldbeutel sowie die Umwelt zu schonen. Auch in größeren Wohnblocks mit vielen Partien kommen solche Anlagen gemeinschaftlich genutzt zum Einsatz. Der Wunsch, die Nutzung zu optimieren, verleitet dazu, Demand Side Management Strategien zu verwenden. Speziell werden dabei Lastverschiebungen von einzelnen Haushaltsgeräten betrachtet, um die Sonnenenergie besser zu nutzen. Diese Arbeit bewertet verschiedene solcher Lastverschiebungen und ihre lokalen und globalen Effekte auf die Haushalte. Dazu werden verschiedene Modelle für variable Strompreisberechnung, Haushaltssimulation und Umsetzung von Lastverschiebung entworfen und in einem eigens geschriebenen Simulator zur Anwendung gebracht. Ziel dabei ist es, durch verschiedene Experimente, die Auswirkungen auf die Haushalte in ausgewählten Bewertungsmetriken zu erfassen. Es stellt sich heraus, dass es mäßige Sparmöglichkeiten für private Photovoltaik-Nutzer durch Lastverschiebung gibt, die Optimierung jedoch sowohl im lokalen als auch um globalen Bereich aber ein spezifisches Problem darstellt.  +
Moderne Prozessoren erreichen eine Leistungssteigerung durch Hinzufügen mehrerer Kerne. Dadurch muss bei der Softwareentwicklung darauf geachtet werden, die Programmabläufe zu parallelisieren. Einflussfaktoren, die die Leistungsfähigkeit paralleler Programmausführung beeinflussen können, wurden bereits kategorisiert. Der Einfluss der gewählten Parallelisierungsstrategie ist dabei unbekannt. Im Rahmen der Bachelorarbeit wurde der Einfluss der gewählten Parallelisierungsstrategie auf die Leistungsfähigkeit von Software untersucht. Dazu wurden unterschiedliche Hardwareanforderungen genutzt. Mit ihnen wurden einzelne Arbeitspakete generiert. Diese wurden durch verschiedene Parallelisierungsstrategien ausgeführt. Die verwendeten Parallelisierungsstrategien sind: Java Threads, Java ParallelStreams, OpenMp und Akka Actor. Bei jeder Ausführung wurden die Laufzeit und das Cacheverhalten gemessen. Zudem wurden die Experimente auf verschiedenen dezidierten Servern und dem BwUniCluster durchgeführt. Die Auswertungen erfolgten mittels Beschleunigungskurven und der Cache Miss Rate. Die Ergebnisse zeigen, dass sich die Parallelisierungsstrategien bei den verwendeten Arbeitspaketen nur in geringem Maße unterscheiden.  +
Semantic similarity estimation is a widely used and well-researched area. Current state-of-the-art approaches estimate text similarity with large language models. However, semantic similarity estimation often ignores fine-grain differences between semantic similar sentences. This thesis proposes the concept of semantic dimensions to represent fine-grain differences between two sentences. A workshop with domain experts identified ten semantic dimensions. From the workshop insights, a model for semantic dimensions was created. Afterward, 60 participants decided via a survey which semantic dimensions are useful to users. Detectors for the five most useful semantic dimensions were implemented in an extendable framework. To evaluate the semantic dimensions detectors, a dataset of 200 sentence pairs was created. The detectors reached an average F1 score of 0.815.  +
This thesis defnes a blueprint describing a successful ad-hoc deployment with generally applicable rules, thus providing a basis for further developments. The blueprint itself is based on the experience of developing a Continuous Deployment system, the subsequent tests and the continuous user feedback. In order to evaluate the blueprint, the blueprint-based dynamic system was compared with the previously static deployment and a user survey was conducted. The result of the study shows that the rules described in the blueprint have far-reaching consequences and generate an additional value for the users during deployment.  +
C
Algorithms that extract dependencies from data and represent them as causal graphs must also be tested. For such tests, data with a known ground truth is required, but this is rarely available. Generating data under controlled conditions through simulations is expensive and time-consuming. A solution to this problem is to create synthetic datasets, where dependencies are predefined, to evaluate the results of these algorithms. This work focuses on building a framework for the synthesis of data. In the framework, the synthesis process begins with generating a random dependency graph, specifically a directed acyclic graph. Each node in the graph, except the source nodes, has parent nodes and represents a variable. In the next step, each node is populated with predefined random dependencies. A dependency is a model that determines the value of a variable based on its parent variables. From this structure, datasets can be sampled. Users can control the properties of the causal graph through various parameters and choose from multiple types of dependencies, representing different complexity levels. Additionally, the sampling process allows for interactivity by enabling the exchange of dependencies during the sampling process. Dependencies can be exchanged with fixed values, probability distributions, or time series functions. This flexibility provides a robust tool for improving and comparing the mentioned algorithms under various conditions.  +
Particle colliders are a primary method of conducting experiments in particle physics, as they allow to both create short-lived, high-energy particles and observe their properties. The world’s largest particle collider, the Large Hadron Collider (subsequently referred to as LHC), is operated by the European Organization for Nuclear Research (CERN) near Geneva. The operation of this kind of accelerator requires the storage and computationally intensive analysis of large amounts of data. The Worldwide LHC Computing Grid (WLCG), a global computing grid, is being run alongside the LHC to serve this purpose. This Bachelor’s thesis aims to support the creation of an architecture model and simulation for parts of the WLCG infrastructure with the goal of accurately being able to simulate and predict changes in the infrastructure such as the replacement of the load balancing strategies used to distribute the workload between available nodes.  +
Dependency estimation is a crucial task in data analysis and finds applications in, e.g., data understanding, feature selection and clustering. This thesis focuses on Canonical Dependency Analysis, i.e., the task of estimating the dependency between two random vectors, each consisting of an arbitrary amount of random variables. This task is particularly difficult when (1) the dimensionality of those vectors is high, and (2) the dependency is non-linear. We propose Canonical Monte Carlo Dependency Estimation (cMCDE), an extension of Monte Carlo Dependency Estimation (MCDE, Fouché 2019) to solve this task. Using Monte Carlo simulations, cMCDE estimates dependency based on the average discrepancy between empirical conditional distributions. We show that cMCDE inherits the useful properties of MCDE and compare it to existing competitors. We also propose and apply a method to leverage cMCDE for selecting features from very high-dimensional features spaces, demonstrating cMCDE’s practical relevance.  +
Im Laufe der Zeit hat sich die Softwareentwicklung von der Entwicklung von Komplett-systemen zur Entwicklung von Software Komponenten, die in andere Applikation inte- griert werden können,verändert.Bei Software Komponenten handelt es sich um Services, die eine andere Applikation erweitern.Die Applikation wird dabeivonDritten entwickelt. In dieser Bachelorthesis werden die Probleme betrachtet, die bei der Integration von Ser- vices auftreten. Mit einer Umfrage wird das Entwicklungsteam von LogMeIn, welches für die Integration von Services zuständig ist, befragt. Aus deren Erfahrungen werden Probleme ausfndig gemacht und Lösungen dafür entwickelt. Die Probleme und Lösungen werden herausgearbeitet und an hand eines fort laufenden Beispiels, des GoToMeeting Add-ons für den Google Kalender,veranschaulicht.Für die Evaluation wird eine Fallstudie durchgeführt, in der eine GoToMeeting Integration für Slack entwickelt wird. Während dieser Entwicklung treten nicht alle ausgearbeiteten Probleme auf. Jedoch können die Probleme, die auftreten mit den entwickelten Lösungen gelöst werden. Zusätzlich tritt ein neues Problem auf, für das eine neue Lösung entwickelt wird. Das Problem und die zugehörige Lösung werden anschließend zu dem bestehenden Set von Problemen und Lösungen hinzugefügt. Das Hinzufügen des gefundenen Problems ist ein perfektes Beispiel dafür, wie das Set in Zukunft bei neuen Problemen, erweitert werden kann.  +
The data collected in many real-world scenarios such as environmental analysis, manufacturing, and e-commerce are high-dimensional and come as a stream, i.e., data properties evolve over time – a phenomenon known as "concept drift". This brings numerous challenges: data-driven models become outdated, and one is typically interested in detecting specific events, e.g., the critical wear and tear of industrial machines. Hence, it is crucial to detect change, i.e., concept drift, to design a reliable and adaptive predictive system for streaming data. However, existing techniques can only detect "when" a drift occurs and neglect the fact that various drifts may occur in different dimensions, i.e., they do not detect "where" a drift occurs. This is particularly problematic when data streams are high-dimensional. The goal of this Master’s thesis is to develop and evaluate a framework to efficiently and effectively detect “when” and “where” concept drift occurs in high-dimensional data streams. We introduce stream autoencoder windowing (SAW), an approach based on the online training of an autoencoder, while monitoring its reconstruction error via a sliding window of adaptive size. We will evaluate the performance of our method against synthetic data, in which the characteristics of drifts are known. We then show how our method improves the accuracy of existing classifiers for predictive systems compared to benchmarks on real data streams.  +
Data streams are ubiquitous in modern applications such as predictive maintenance or quality control. Data streams can change in unpredictable ways, challenging existing supervised learning algorithms that assume a stationary relationship between input data and labels. Supervised learning algorithms for data streams must therefore "adapt" to changing data distributions. Active learning (AL), a sub-field of supervised learning, aims to reduce the total cost of labeling by identifying the most valuable data points for training. However, existing stream-based AL methods have difficulty adapting to changes in data streams as they rely mainly on the sparsely labeled data and ignore the regionality of changes, resulting in slow change adaptions. To address these issues, this thesis presents an active learning framework for data streams that adapts to regional changes in the underlying data stream. Our idea is to enrich hierarchical data stream clustering with labeling statistics to measure the regionality and relevance of changes. Using such information in stream-based active learning leads to more effective labeling, resulting in faster change adaption.  +
Das Palladio Komponentenmodell (PCM) ermöglicht die Modellierung und Simulation der Qualitätseigenschaften eines Systems aus komponentenbasierter Software und für die Ausführung gewählter Hardware. Stehen dabei bereits Teile des Systems zur Verfügung können diese in die Co-Simulation von Workload, Software und Hardware integriert werden, um weitere Anwendungsgebiete für das PCM zu ermöglichen oder die Anwendung in bestehenden zu verbessern. Die Beiträge dieser Arbeit sind das Erarbeiten von sechs verschiedenen Ansätzen zur Anpassung des PCM für unterschiedliche Anwendungsgebiete und deren Einstufung anhand von Bewertungskriterien. Für den dabei vielversprechendsten Ansatz wurde ein detailliertes Konzept entwickelt und prototypisch umgesetzt. Dieser Ansatz, ein Modell im PCM mittels einer feingranularen Hardwaresimulation zu parametrisieren, wird in Form des Prototyps bezüglich seiner Umsetzbarkeit, Erweiterbarkeit und Vollständigkeit evaluiert. Die Evaluation der prototypischen Umsetzung erfolgt unter anderem anhand der Kriterien Benutzbarkeit, Genauigkeit und Performance, die in Relation zum PCM betrachtet werden. Der Prototyp ermöglicht die Ausführung einer Hardwaresimulation mit im PCM spezifizierten Parametern, die Extraktion dabei gemessener Leistungsmerkmale und deren direkte Verwendung in einer Simulation des PCM.  +
In data analysis, entity matching (EM) or entity resolution is the task of finding the same entity within different data sources. When joining different data sets, it is a required step where the same entities may not always share a common identifier. When applied to graph data like knowledge graphs, ontologies, or abstractions of physical systems, the additional challenge of entity relationships comes into play. Now, not just the entities themselves but also their relationships and, therefore, their neighborhoods need to match. These relationships can also be used to our advantage, which builds the foundation for collective entity matching (CEM). In this bachelor thesis, we focus on a graph data set based on a material simulation with the intent to match entities between neighboring system states. The goal is to identify structures that evolve over time and link their states with a common identifier. Current CEM Algorithms assume perfect matches to be possible, i.e., every entity can be matched. We want to overcome this challenge and address the high imbalance of potential candidates and impossible matches. A third major challenge is the large volumes of data which requires our algorithm to be efficient.  +
An der Entwicklung komplexer Systeme sind viele Teams aus verschiedenen Disziplinen vertreten. So sind zum Beispiel an der Entwicklung einer sicherheitskritischen Systemarchitektur mindestens ein Systemarchitekt als auch ein Sicherheitsexperte beteiligt. Die Aufgabe des ersteren ist es, eine Systemarchitektur zu entwickeln, welche alle funktionalen und nicht-funktionalen Anforderungen erfüllt. Der Sicherheitsexperte analysiert diese Architektur und trägt so zum Nachweis bei, dass das System die geforderten Sicherheitsanforderungen erfüllt. Sicherheit steht hierbei für die Gefahrlosigkeit des Nutzers und der Umwelt durch das System (Safety). Um ihr Ziel zu erreichen, folgen sowohl der Systemarchitekt als auch der Sicherheitsexperte einem eigenen Vorgehensmodell. Aufgrund fehlender Interaktionspunkte müssen beide unabhängig voneinander und unkoordiniert durchgeführt werden. Dies kann zu Inkonsistenzen zwischen Architektur- und Sicherheitsartefakten führen und zusätzlichen Aufwand verursachen, was sich wiederum negativ auf die Entwicklungszeit und Qualität auswirkt. In dieser Arbeit kombinieren wir zwei ausgewählte Vorgehensmodelle zu einem neuen, einzelnen Vorgehensmodell. Die Kombination erfolgt auf Basis des identifizierten Informationsflusses innerhalb und zwischen den ursprünglichen zwei Vorgehensmodellen. Durch die Kombination werden die Vorteile beider Ansätze übernommen und die zuvor genannten Probleme angegangen. Bei den zwei ausgewählten Vorgehensmodellen handelt es sich um den Harmony-Ansatz von IBM und die ISO-Norm 26262. Ersterer erlaubt es eine Systemarchitektur systematisch und modellbasiert mit SysML zu entwickeln, während die ISO-Norm dem Sicherheitsexperten bei seiner Arbeit bezüglich der funktionalen Sicherheit in Straßenfahrzeugen unterstützt. Die Evaluation unseres Ansatzes zeigt dessen Anwendbarkeit im Rahmen einer realen Fallstudie. Außerdem werden dessen Vorteile bezüglich Konsistenz zwischen Architektur- und Sicherheitsartefakten und Durchführungszeit diskutiert, basierend auf einem Vergleich mit ähnlichen Ansätzen.  
Architecture-level performance models, for instance, the PCM, allow performance predictions to evaluate and compare design alternatives. However, software architectures drift over time so that initially created performance models are out-to-date fast due to the required manual high effort to keep them up-to-date. To close the gap between the development and having up-to-date performance models, the Continuous Integration of Performance Models (CIPM) approach has been proposed. It incorporates automatically executed activities into a Continuous Integration pipeline and is realized with Vitruvius combining Java and the PCM. As a consequence, changes from a commit are extracted to incrementally update the models in the VSUM. To estimate the resource demand in the PCM, the CIPM approach adaptively instruments and monitors the source code. In previous work, parts of the CIPM pipeline were prototypically implemented and partly evaluated with artificial projects. A pipeline combining the incremental model update and the adaptive instrumentation is absent. Therefore, this thesis presents the combined pipeline adapting and extending the existing implementations. The evaluation is performed with the TeaStore and indicates the correct model update and instrumentation. Nevertheless, there is a gap towards the calibration pipeline.  +
Die sich weiterentwickelnde Technologie erfordert eine organisationsübergreifende Zusammenarbeit, um die komplexen Aufgaben bei der Entwicklung komplexer Systeme wie Webservices, IoT und heterogener Systeme zu bewältigen. Auf diese Weise hat die Zusammenarbeit das Potenzial, den hohen Ressourcen- und Qualitätsbedarf zu mindern und von den komplementären Ressourcen der Zusammenarbeit zu profitieren. Dennoch muss während der Zusammenarbeit ein Austausch der Versionen der entwickelten Schnittstellen möglich sein. Während des Austauschs muss der Schutz des geistigen Eigentums der kooperierenden Organisationen und der Metadaten der Versionen berücksichtigt werden, um die Kompetenz der Organisation und die Designentscheidungen zu schützen. Einige existierende Ansätze integrieren einen Server, um die Zugangskontrolle und Autorisierung zu erleichtern und eine feingranulare Verschlüsselung der gemeinsam genutzten Assets und den Schutz des geistigen Eigentums zu bieten. Andere Ansätze integrieren Verschlüsselungsmechanismen in die bestehenden Versionskontrollsysteme, z. B. Git. Für die Zugriffskontrolle nutzen wir jedoch keinen Server und schützen das geistige Eigentum und zusätzlich die Metadaten. Das Thema dieser Arbeit konzentriert sich auf die Vertraulichkeit und Integrität der Modellversionen und ihrer Metadaten. Wir definieren Deltachain, die wir aus Blockchain motivieren. Jedes Element einer Deltachain ist mit einem Vorgänger verknüpft, wodurch eine Kette entsteht. Die Elemente von Deltachain bestehen aus verschlüsselten Modelländerungen mit den entsprechenden Metadaten, um die Vertraulichkeit zu gewährleisten. Darüber hinaus kapselt jedes Element von Deltachain den Hash-Wert der Modelländerung und der Metadaten ein, um die Integrität zu gewährleisten. Wir verwenden den Advanced Encryption Standard für die Verschlüsselung und SHA für das Hashing der Versionen. Um Modelländerungen zwischen zwei Versionen eines Modells zu erkennen, verwenden wir die Vitruv-Tools. Für die Definition des Metamodells und die Implementierung der Deltachain verwenden wir das Eclipse Modeling Framework. Wir evaluieren unseren Ansatz unter den Aspekten der Funktionalität, um die erwartete Leistung von Deltachain zu bestätigen, der Skalierbarkeit, um die Auswirkungen der zunehmenden Versionen und Modelle auf Deltachain zu untersuchen, und der Leistung, um Deltachain mit EMFCompare zu vergleichen. Für die Bewertungsklassen Skalierbarkeit und Leistung finden wir drei Open-Source-Modellierungsprojekte auf GitHub.  
The passing of new regulations like the European GDPR has clarified that in the future it will be necessary to build privacy-preserving systems to protect the personal data of its users. This thesis will introduce the concept of privacy templates to help software designers and architects in this matter. Privacy templates are at their core similar to design patterns and provide reusable and general architectural structures which can be used in the design of systems to improve privacy in early stages of design. In this thesis we will conceptualize a small collection of privacy templates to make it easier to design privacy-preserving software systems. Furthermore, the privacy templates will be categorized and evaluated to classify them and assess their quality across different quality dimensions.  +
Im Zeitalter des Cloud Computings und der Big Data existieren Software-Telemetriedaten im Überfluß. Die schiere Menge an Daten und Datenplattformen kann allerdings zu Problemen in ihrer Handhabung führen. In dieser Masterarbeit wird ein Laufzeitmodell vorgestellt, welches es ermöglicht, Messungen von Telemetriedaten auf verschiedenen Datenplatformen durchzuführen. Hierbei folgt das Modell dem vollen Lebenszyklus einer Messung von der Definition durch eine eigens hierfür entwickelte domänenspezifischen Sprache, bis zur Visualisierung der resultierenden Messwerte. Das Modell wurde bei dem Software-as-a-Service-Unternehmen LogMeIn implementiert und getestet. Hierbei wurde eine Evaluation hinsichtlich der Akzeptanz des implementierten Dienstes bei der vermuteten Zielgruppe anhand einer Nutzerstudie innerhalb des Unternehmens durchgeführt.  +
While large language models have succeeded in generating code, the struggle is to modify large existing code bases. The Generated Code Alteration (GCA) process is designed, implemented, and evaluated in this thesis. The GCA process can automatically modify a large existing code base, given a natural language task. Different variations and instantiations of the process are evaluated in an industrial case study. The code generated by the GCA process is compared to code written by human developers. The language model-based GCA process was able to generate 13.3 lines per error, while the human baseline generated 65.8 lines per error. While the generated code did not match the overall human performance in modifying large code bases, it could still provide assistance to human developers.  +
In Industry 4.0 environments highly dynamic and flexible access control strategies are needed. State of the art strategies are often not included in the modelling process but must be considered afterwards. This makes it very difficult to analyse the security properties of a system. In the framework of the Trust 4.0 project the confidentiality analysis tries to solve this problem using a context-based approach. Thus, there is a security model named “context metamodel”. Another important problem is that the transformation of an instance of a security model to a wide-spread access control standard is often not possible. This is also the case for the context metamodel. Moreover, another transformation which is very interesting to consider is one to an ensemble based component system which is also presented in the Trust 4.0 project. This thesis introduces an extension to the beforementioned context metamodel in order to add more extensibility to it. Furthermore, the thesis deals with the creation of a concept and an implementation of the transformations mentioned above. For that purpose, at first, the transformation to the attribute-based access control standard XACML is considered. Thereafter, the transformation from XACML to an ensemble based component system is covered. The evaluation indicated that the model can be used for use cases in Industry 4.0 scenarios. Moreover, it also indicated the transformations produce adequately accurate access policies. Furthermore, the scalability evaluation indicated linear runtime behaviour of the implementations of both transformations for respectively higher number of input contexts or XACML rules.  +
Architecture-level performance models of software like the PCM can aid with the development of the software by preventing architecture degradation and helping to diagnose performance issues during the implementation phase. Previously, manual intervention was required to create and update such models. The CIPM approach can be employed to automatically make a calibrated PCM instance available during the development of software. A prototypical implementation of the CIPM approach targets microservice-based web applications implemented in Java. No implementations for other programming languages exist and the process of adapting the CIPM approach to support another programming language has previously not been explored. We present an approach to adapting CIPM to support Lua-based sensor applications. A prototypical implementation of the adapted approach was evaluated using real-world Lua-based sensor applications from the SICK AppSpace ecosystem. The evaluation demonstrates the feasibility of the adapted approach, but also reveals minor technical issues with the implementation.  +
In software engineering, software architecture documentation plays an important role. It contains many essential information regarding reasoning and design decisions. Therefore, many activities are proposed to deal with documentation for various reasons, e.g., extract- ing information or keeping different forms of documentation consistent. These activities often involve automatic processing of documentation, for example traceability link recovery (TLR). However, there can be problems for automatic processing when coreferences are present in documentation. A coreference occurs when two or more mentions refer to the same entity. These mentions can be different and create ambiguities, for example when there are pronouns. To overcome this problem, this thesis proposes two contributions to resolve coreferences in software architecture documentation. The first contribution is to explore the performance of existing coreference resolution models for software architecture documentation. The second is to divide coreference resolution into many more specific type of resolutions, like pronoun resolution, abbreviation resolution, etc.  +
To evaluate the loss of cognitive ML models, e.g., text or image classifier, accurately, one usually needs a lot of test data which are annotated manually by experts. In order to estimate accurately, the test data should be representative or else it would be hard to assess whether a model overfits, i.e., it uses spurious features of the images significantly to decide on its predictions.With techniques such as Feature Attribution, one can then compare important features that the model sees with their own expectations and can therefore be more confident whether or not he should trust the model. In this work, we propose a method that estimates the loss of image classifiers based on Feature-Attribution techniques. We use the classic approach for loss estimate as our benchmark to evaluate our proposed method. At the end of this work, our analysis reveals that our proposed method seems to have a similar loss estimate to that of the classic approach with a good image classifer and a representative test data. Based on our experiment, we expect that our proposed method could give a better loss estimate than the classic approach in cases where one has a biased test data and an image classifier which overfits.  +
Conventional evaluation of an ML classifier uses test data to estimate its expected loss. For "cognitive" ML tasks like image or text classification, this requires that experts annotate a large and representative test data set, which can be expensive. In this thesis, we explore another approach for estimating the expected loss of an ML classifier. The aim is to enhance test data with additional expert knowledge. Inspired by recent feature attribution techniques, such as LIME or Saliency Maps, the idea is that experts annotate inputs not only with desired classes, but also with desired feature attributions. We then explore different methods to derive a large conventional test data set based on few such feature attribution annotations. We empirically evaluate the loss estimates of our approach against ground-truth estimates on large existing test data sets, with a focus on the tradeoff between the number of expert annotations and the achieved estimation accuracy.  +
Students are confronted with a huge amount of regulations when planning their studies at a university. It is challenging for them to create a personalized study plan while still complying to all official rules. The STUDYplan software aims to overcome the difficulties by enabling an intuitive and individual modeling of study plans. A study plan can be interpreted as a sequence of business process tasks that indicate courses to make use of existing work in the business process domain. This thesis focuses on the idea of synthesizing business process models from declarative specifications that indicate official and user-defined regulations for a study plan. We provide an elaborated approach for the modeling of study plan constraints and a generation concept specialized to study plans. This work motivates, discusses, partially implements and evaluates the proposed approach.  +
D
Te prediction of material failure is useful in many industrial contexts such as predictive maintenance, where it helps reducing costs by preventing outages. However, failure prediction is a complex task. Typically, material scientists need to create a physical material model to run computer simulations. In real-world scenarios, the creation of such models is ofen not feasible, as the measurement of exact material parameters is too expensive. Material scientists can use material models to generate simulation data. Tese data sets are multivariate sensor value time series. In this thesis we develop data-driven models to predict upcoming failure of an observed material. We identify and implement recurrent neural network architectures, as recent research indicated that these are well suited for predictions on time series. We compare the prediction performance with traditional models that do not directly predict on time series but involve an additional step of feature calculation. Finally, we analyze the predictions to fnd abstractions in the underlying material model that lead to unrealistic simulation data and thus impede accurate failure prediction. Knowing such abstractions empowers material scientists to refne the simulation models. The updated models would then contain more relevant information and make failure prediction more precise.  +
Data flow is becoming more and more important for business processes over the last few years. Nevertheless, data in workflows is often considered as second-class object and is not sufficiently supported. In many domains, such as the energy market, the importance of compliance requirements stemming form legal regulations or specific standards has dramatically increased over the past few years. To be broadly applicable, compliance verification has to support data-aware compliance rules as well as to consider data conditions within a process model. In this thesis we model the data-flow of data objects for a scenario in the energy market domain. For this purpose we use a scientific workflow management system, namely the Apache Taverna. We will then insure the correctness of the data flow of the process model. The theoretical starting point for this thesis is a verification approach of the supervisors of this thesis. It formalizes BPMN process models by mapping them to Petri Nets and unfolding the execution semantics regarding data. We develop an algorithm for transforming Taverna workflows to BPMN 2.0. We then ensure the correctness of the data-flow of the process model. For this purpose we analyse which compliance rules are relevant for the data objects and how to specify them using anti-patterns.  +
Static Code Analysis (SCA) has become an integral part of modern software development, especially since the rise of automation in the form of CI/CD. It is an ongoing question of how machine learning can best help improve SCA's state and thus facilitate maintainable, correct, and secure software. However, machine learning needs a solid foundation to learn on. This thesis proposes an approach to build that foundation by mining data on software issues from real-world code. We show how we used that concept to analyze over 4000 software packages and generate over two million issue samples. Additionally, we propose a method for refining this data and apply it to an existing machine learning SCA approach.  +
A group of people with diferent personal preferences wants to fnd a solution to a problem with high variability. Making decisions in the group comes with problems as a lack of communication leads to worse decision outcomes. Group dynamics and biases can lead to suboptimal decisions. Generally group decisions are complex and often the process that yields the decision result is unstructured, thereby not providing any reproducibility of the success. Groups have different power structures and usually individuals have diferent interests. Moreover finding solutions is a rather complex task and group decisions can sufer intransparency. To support groups in their decision making product confguration can be used. It allows to accurately map constraints and dependencies in complex problems and to map the solution space. Using a group recommender a group is supported in their confguration decisions. The goal is to show that these approaches can help a group with the confguration task presented by the usage of a configurator and to better process individual preferences than a human can. The benefts of this approach are, that the need for a group to communicate directly is reduced. Each user gives their own preferences and the group will get a recommendation based on that. This allows to reduce problems arising in groups decisions like lack of communication and bias in groups. Additionally this shows the viability of combining group recommendations and configuration approaches.  +
Consistency preservation between two metamodels can be achieved by defining a model transformation that repairs inconsistencies. In that case, there exists a consistency relation between metamodels. When there are multiple interrelated metamodels, consistency relations form a network. In multi-model consistency preservation, we are interested in methods to preserve consistency in a network of consistency relations. However, combinations of binary transformations can lead to specific interoperability issues. The purpose of this thesis is the decomposition of relations, an optimization technique for consistency relation networks. In this thesis, we design a decomposition procedure to detect independent and redundant subsets of consistency relations. The procedure aims to help developers find incompatibilities in consistency relation networks.  +
Entwicklungsprozesse von komplexen, softwareintensiven Systemen sind heutzutage von organisationsübergreifender Zusammenarbeit geprägt. Organisationen teilen verschiedene Artefakte miteinander und leisten darauf aufbauend ihren Beitrag zur Systementwicklung. Die Synchronisation von Änderungen an solchen geteilten Artefakten erfolgt hauptsächlich in Form von regelmäßigen, aber seltenen Meetings. Darüber hinaus enthalten die Artefakte im Allgemeinen geistiges Eigentum, das geschützt werden muss, auch vor mitwirkenden Organisationen. Wir entwerfen eine Referenzarchitektur, die einen konstanten Datenfluss beim organisationsübergreifenden Austausch von Artefakten unter Schutz des geistigen Eigentums ermöglicht.  +
Outlier detection algorithms are widely used in application fields such as image processing and fraud detection. Thus, during the past years, many different outlier detection algorithms were developed. While a lot of work has been put into comparing the efficiency of these algorithms, comparing methods in terms of effectiveness is rather difficult. One reason for that is the lack of commonly agreed-upon benchmark data. In this thesis the effectiveness of density-based outlier detection algorithms (such as KNN, LOF and related methods) on entirely synthetically generated data are compared, using its underlying density as ground truth.  +
Outlier detection is a popular topic in research, with a number of different approaches developed. Evaluating the effectiveness of these approaches however is a rather rarely touched field. The lack of commonly accepted benchmark data most likely is one of the obstacles for running a fair comparison of unsupervised outlier detection algorithms. This thesis compares the effectiveness of twelve density-based outlier detection algorithms in nearly 800.000 experiments over a broad range of algorithm parameters using the probability density as ground truth.  +
In view-based software development, views may share concepts and thus contain redundant or dependent information. Keeping the individual views synchronized is a crucial property to avoid inconsistencies in the system. In approaches based on a Single Underlying Model (SUM), inconsistencies are avoided by establishing the SUM as a single source of truth from which views are projected. To synchronize updates from views to the SUM, delta-based consistency preservation is commonly applied. This requires the views to provide fine-grained change sequences which are used to incrementally update the SUM. However, the functionality of providing these change sequences is rarely found in real-world applications. Instead, only state-based differences are persisted. Therefore, it is desirable to also support views which provide state-based differences in delta-based consistency preservation. This can be achieved by estimating the fine-grained change sequences from the state-based differences. This thesis evaluates the quality of estimated change sequences in the context of model consistency preservation. To derive such sequences, matching elements across the compared models need to be identified and their differences need to be computed. We evaluate a sequence derivation strategy that matches elements based on their unique identifier and one that establishes a similarity metric between elements based on the elements’ features. As an evaluation baseline, different test suites are created. Each test consists of an initial and changed version of both a UML class diagram and consistent Java source code. Using the different strategies, we derive and propagate change sequences based on the state-based difference of the UML view and evaluate the outcome in both domains. The results show that the identity-based matching strategy is able to derive the correct change sequence in almost all (97 %) of the considered cases. For the similarity-based matching strategy we identify two reoccurring error patterns across different test suites. To address these patterns, we provide an extended similarity-based matching strategy that is able to reduce the occurrence frequency of the error patterns while introducing almost no performance overhead.  
Twitter has been identified as a relevant data source for modelling purposes in the last decade. In this work, our goal was to model the conversational dynamics of inflation development in Germany through Twitter Data Mining. To accomplish this, we summarized and compared Twitter data mining techniques for time series data from pertinent research. Then, we constructed five models for generating time series from topic-related tweets and user profiles of the last 15 years. Evaluating the models, we observed that several approaches like modelling for user impact or adjusting for automated twitter accounts show promise. Yet, in the scenario of modelling inflation expectation dynamics, these more complex models could not contribute to a higher correlation between German CPI and the resulting time series compared to a baseline approach.  +
Die Spezifikation eines software-intensiven Systems umfasst eine Vielzahl von Artefakten. Diese Artefakte sind nicht unabhängig voneinander, sondern stellen die gleichen Elemente des Systems in unterschiedlichen Kontexten und Repräsentationen dar. In dieser Arbeit wurde im Rahmen einer Fallstudie ein neuer Ansatz untersucht, mit dem sich diese Überschneidungen von Artefakten konsistent halten lassen. Die Idee ist es, die Gemeinsamkeiten der Artefakte explizit zu modellieren und Änderungen über ein Zwischenmodell dieser Gemeinsamkeiten zwischen Artefakten zu übertragen. Der Ansatz verspricht eine bessere Verständlichkeit der Abhängigkeiten zwischen Artefakten und löst einige Probleme bisheriger Ansätze für deren Konsistenzerhaltung. Für die Umsetzung der Fallstudie wurde eine Sprache weiterentwickelt, mit der sich die Gemeinsamkeiten und deren Manifestationen in den verschiedenen Artefakten ausdrücken lassen. Wir konnten einige grundlegende Funktionalitäten der Sprache ergänzen und damit 64% der Konsistenzbeziehungen in unserer Fallstudie umsetzen. Für die restlichen Konsistenzbeziehungen müssen weitere Anpassungen an der Sprache vorgenommen werden. Für die Evaluation der generellen Anwendbarkeit des Ansatzes sind zusätzliche Fallstudien nötig.  +
In the early stages of developing a software architecture, many properties of the final system are yet unknown, or difficult to determine. There may be multiple viable architectures, but uncertainty about which architecture performs the best. Software architects can use Design Space Exploration to evaluate quality properties of architecture candidates to find the optimal solution. Design Space Exploration can be a resource intensive process. An architecture candidate may feature certain properties which disqualify it from consideration as an optimal candidate, regardless of its quality metrics. An example for this would be confidentiality violations in data flows introduced by certain components or combinations of components in the architecture. If these properties can be identified early, quality evaluation can be skipped and the candidate discarded, saving resources. Currently, analyses for identifying such properties are performed disjunct from the design space exploration process. Optimal candidates are determined first, and analyses are then applied to singular architecture candidates. Our approach augments the PerOpteryx design space exploration pipeline with an additional architecture candidate filter stage, which allows existing generic candidate analyses to be integrated into the DSE process. This enables automatic execution of analyses on architecture candidates during DSE, and early discarding of unwanted candidates before quality evaluation takes place. We use our filter stage to perform data flow confidentiality analyses on architecture candidates, and further provide a set of example analyses that can be used with the filter. We evaluate our approach by running PerOpteryx on case studies with our filter enabled. Our results indicate that the filter stage works as expected, able to analyze architecture candidates and skip quality evaluation for unwanted candidates.  +
Die Arbeit entwickelt einen Ansatz, der die automatische Adaption mit Fokus auf die Leistungsoptimierung mit einem Ansatz zur Bedienerintegration vereint. Der Ansatz verwendt automatischen Entwurfsraumexploration, um Laufzeit-Architekturmodelle der Anwendung zu optimieren und mit einem Modell-basierten Ansatz zur Adaptionsplanung und -ausführung zu kombinieren, der Bedienereingrife während der Adaptionsausführung ermöglicht.  +
Business Process Model and Notation (BPMN) is a standard language to specify business process models. It helps organizations around the world to analyze, improve and automate their processes. It is very important to make sure that those models are correct, as faulty models can do more harm than good. While many verification methods for BPMN concentrate only on control flow, the importance of correct data flow is often neglected. Additionally the few approaches tackling this problem, only do it on a surface level ignoring certain important aspects, such as data states. Because data objects with states can cause different types of errors than data objects without them, ignoring data states can lead to overlooking certain mistakes. This thesis tries to address the problem of detecting data flow errors on the level of data states, while also taking optional data and alternative data into account. We propose a new transformation for BPMN models to Petri Nets and specify suitable anti-patterns. Using a model checker, we are then capable of automatically detecting data flow errors regarding data states. In combination with existing approaches, which detect control flow errors or data flow errors on the level of data values, business process designers will be able to prove with a higher certainty that their models are actually flawless.  +
Using outlier detection algorithms, e.g., Support Vector Data Description (SVDD), for detecting outlying time-series usually requires extracting domain-specific attributes. However, this indirect way needs expert knowledge, making SVDD impractical for many real-world use cases. Incorporating "Global Alignment Kernels" directly into SVDD to compute the distance between time-series data bypasses the attribute-extraction step and makes the application of SVDD independent of the underlying domain. In this work, we propose a new time-series outlier detection algorithm, combining "Global Alignment Kernels" and SVDD. Its outlier detection capabilities will be evaluated on synthetic data as well as on real-world data sets. Additionally, our approach's performance will be compared to state-of-the-art methods for outlier detection, especially with regard to the types of detected outliers.  +
Detecting outlying time-series poses two challenges: First, labeled training data is rare, as it is costly and error-prone to obtain. Second, algorithms usually rely on distance metrics, which are not readily applicable to time-series data. To address the first challenge, one usually employs unsupervised algorithms. To address the second challenge, existing algorithms employ a feature-extraction step and apply the distance metrics to the extracted features instead. However, feature extraction requires expert knowledge, rendering this approach also costly and time-consuming. In this thesis, we propose GAK-SVDD. We combine the well-known SVDD algorithm to detect outliers in an unsupervised fashion with Global Alignment Kernels (GAK), bypassing the feature-extraction step. We evaluate GAK-SVDD's performance on 28 standard benchmark data sets and show that it is on par with its closest competitors. Comparing GAK with a DTW-based kernel, GAK improves the median Balanced Accuracy by 4%. Additionally, we extend our method to the active learning setting and examine the combination of GAK and domain-independent attributes.  +
This thesis focuses on the development of a database application that enables a comparative analysis between the Google Books Ngram Corpus(GBNC) and a German news corpora. The GBNC provides a vast collection of books spanning various time periods, while the German news corpora encompass up-to-date linguistic data from news sources. Such comparison aims to uncover insights into language usage patterns, linguistic evolution, and cultural shifts within the German language. Extracting meaningful insights from the compared corpora requires various linguistic metrics, statistical analyses and visualization techniques. By identifying patterns, trends and linguistic changes we can uncover valuable information on language usage evolution over time. This thesis provides a comprehensive framework for comparing the GBNC to other corpora, showcasing the development of a database application that enables not only valuable linguistic analyses but also shed light on the composition of the GBNC by highlighting linguistic similarities and differences.  +
In the last decade, ample research has been produced regarding the value of user-generated data from microblogs as a basis for time series analysis in various fields.In this context, the objective of this thesis is to develop a domain-agnostic framework for mining microblog data (i.e., Twitter). Taking the subject related postings of a time series (e.g., inflation) as its input, the framework will generate temporal data sets that can serve as basis for time series analysis of the given target time series (e.g., inflation rate). To accomplish this, we will analyze and summarize the prevalent research related to microblog data-based forecasting and analysis, with a focus on the data processing and mining approach. Based on the findings, one or several candidate frameworks are developed and evaluated by testing the correlation of their generated data sets against the target time series they are generated for. While summative research on microblog data-based correlation analysis exists, it is mainly focused on summarizing the state of the field. This thesis adds to the body of research by applying summarized findings and generating experimental evidence regarding the generalizability of microblog data mining approaches and their effectiveness.  +
There are many data structures and indices that speed up kNN queries on time series. The existing indices are designed to work on the full time series only. In this thesis we develop a data structure that allows speeding up kNN queries in an arbitrary time range, i.e. for an arbitrary subsequence.  +
In One-Class classification, the classifier decides if points belong to a specific class. In this thesis, we propose an One-Class classification approach, suitable for active learning, that models for each point, a prediction range in which the model assumes the points state to be. The proposed classifier uses a Gaussian process. We use the Gaussian processes prediction range to derive a certainty measure, that considers the available labeled points for stating its certainty. We compared this approach against baseline classifiers and show the correlation between the classifier's uncertainty and misclassification ratio.  +
HYBRID: This Proposal will be online AND in the seminar room 348. When working with large data sets, in many situations one has to deals with a large set data from a single class and only few negative examples from other classes. Learning classifiers, which can assign data points to one of the groups, is known as one-class classification (OCC) or outlier detection. The objective of this thesis is to develop and evaluate an active learning process to train an OCC. The process uses domain knowledge to reasonably adopt a prior distribution. Knowing that prior distribution, query strategies will be evaluated, which consider the certainty, more detailed the uncertainty, of the estimated class membership scorings. The integration of the prior distribution and the estimation of uncertainty, will be modeled using a gaussian process.  +
Ziel der Arbeit ist die Beschreibung von Simulatoren und deren Vergleich. Damit Simulatoren beschrieben werden können ist es notwendig die Elemente zu identifizieren, die in Summ eine vollständige Beschreibung eines Simulators ermöglicht. Basierend auf der Beschreibung werden dann Vergleichsmöglichkeiten entwickelt, sodass beschriebene Simulatoren miteinander Verglichen werden können. Der Vergleich dient der Ermittlung der Ähnlichkeit von Simulatoren. Da die Ähnlichkeit zwischen Simulatoren nicht allgemeingültig definierbar ist, ist auch Teil der Arbeit diese Ähnlichkeitsmaße zu definieren und zu beschreiben. Im Fokus dieser Arbeit sind diskrete ereignisorientierte Simulatoren. Das übergeordnete Ziel ist das wiederfinden von Simulatoren in bereits bestehenden Simulationen um die Wiederverwendung zu ermöglichen. Daher ist das Ziel die Vergleichsmöglichkeiten dahingehend zu entwickeln, dass auch Teile von Simulationen wiedergefunden werden können. Das entwickelte Tool DesComp implementiert sowohl die Möglichkeit der Beschreibung als auch die notwendigen Verfahren für den Vergleich von Simulatoren. Für die Evaluation der Eignung der entwickelten Verfahren wird eine Fallstudie anhand des Simulators EventSim durchgeführt.  +
Mit Smart Metern erfasste Datenströme stellen eine Gefahr für die Privatheit dar, sodass Bedarf für Privatheitsverfahren besteht. Aktueller Stand der Technik für Datenströme ist w-event differential privacy. Dies wurde bisher v.a. für die Publikation von Histogram-Queries verwendet. Ziel dieser Arbeit ist die eingehende experimentelle Analyse der Mechanismen, mit dem Fokus darauf zu beurteilen, wie gut diese Mechanismen sich für die Publikation von Sum-Queries, wie sie im Smart Meter Szenario gebraucht werden, eignen. Die Arbeit besteht aus drei Teilen: (1) Reproduktion der in der Literatur propagierten guten Ergebnisse der wichtigsten w-event DP Mechanismen für Histogram-Queries, (2) Evaluierung deren Qualität bei Anwendung auf Smart Meter Daten (Sum-Queries), (3) Evaluierung der Qualität zweier Mechanismen bzgl. der Gewährleistung von Pan-Privacy, einer erweiterten Garantie. Während wir in (1) die Ergebnisse größtenteils nicht reproduzieren konnten, erzielten wir in (2) gute Ergebnisse. Bzgl. (3) gelang es uns, die theoretische Qualitätsanalyse aus der Literatur zu bestätigen.  +
The main goal knowledge discovery focusses is, an increase of knowledge using some set of data. In many cases it is crucial that results are human-comprehensible. Subdividing the feature space into boxes with unique characteristics is a commonly used approach for achieving this goal. The patient-rule-induction method (PRIM) extracts such "interesting" hyperboxes from a dataset by generating boxes that maximize some class occurrence inside of it. However, the quality of the results varies when applied to small datasets. This work will examine to which extent data-generators can be used to artificially increase the amount of available data in order to improve the accuracy of the results. Secondly, it it will be tested if probabilistic classification can improve the results when using generated data.  +
In today's connected world, exchanging data is essential to many business applications. In order to cope with security requirements early, design time data flow analyses have been proposed. These approaches transform the modeled architecture into underlying formalisms such as logic programs. Constraints that check requirements often have to be formulated in terms of the underlying formalism. This requires architects to know about the formalism, the transformed architecture and the verification environment. We aim to bridge this gap between the architectural domain and the underlying formalism. We propose a domain-specific language (DSL) which enables architects to define individual constraints in terms of the architecture. Our approach maps the constraints and results between the architectural and the formalism automatically. Our evaluation indicates good overall expressiveness, usability and space efficiency for different sized data flow restrictions.  +
Standard, data-driven machine learning approaches learn relevant patterns solely from data. In some fields however, learning only from data is not sufficient. A prominent example for this is healthcare, where the problem of data insufficiency for rare diseases is tackled by integrating high-quality domain knowledge into the machine learning process. Despite the existing work in the healthcare context, making general observations about the impact of domain knowledge is difficult, as different publications use different knowledge types, prediction tasks and model architectures. It further remains unclear if the findings in healthcare are transferable to other use-cases, as well as how much intellectual effort this requires. With this Thesis we introduce DomainML, a modular framework to evaluate the impact of domain knowledge on different data science tasks. We demonstrate the transferability and flexibility of DomainML by applying the concepts from healthcare to a cloud system monitoring. We then observe how domain knowledge impacts the model’s prediction performance across both domains, and suggest how DomainML could further be used to refine both the given domain knowledge as well as the quality of the underlying dataset.  +
Developing and approach for dynamic adaptation to service usage policies.  +
In dieser Arbeit wird dieses Problem unter Zuhilfenahme des Wissens über kausale Abhängigkeiten verschiedener Tuningaufgaben vereinfacht. Da sich die Fragen nach einigen Parameterwerten oft nur dann stellen, wenn andere Parameter gewisse Werte einnehmen, ist es unsinnig, erstere in jedem Fall in den Optimierungsprozess einzubeziehen. Insbesondere erlaubt das entwickelte Verfahren das verlustfreie, simultane Autotuning voneinander abhängiger nominaler und Verhältnisparameter, ohne auf möglicherweise wertvolle Informationen über deren gegenseitige Einflussnahme aufeinander zu verzichten.  +
E
Aktuelle Entwicklungen in der Softwaretechnik zeigen einen Trend zur Dezentralisierung von Softwaresystemen. Mit dem Einsatz von Techniken wie Cloud-Computing oder Micro-Services fließen immer mehr Daten über öffentliche Netzwerke oder über die Infrastruktur von Drittanbietern. Im Gegensatz dazu führen aktuelle gesetzliche Änderungen wie die "General Data Protection Regulations" der EU dazu, dass es für Softwareentwickler immer wichtiger wird sicherzustellen, dass die Datenflüsse ihrer Software gesetzliche Beschränkungen einhalten. Um dies trotz der stetig wachsenden Komplexität von Softwaresystemen zu ermöglichen, wurden verschiedenste modellbasierte Ansätze vorgeschlagen. Ein Nachteil der meisten Ansätze ist jedoch, dass sie oftmals keine voll automatisierte Analyse bezüglich der Verletzung Datenflussbeschränkungen ermöglichen. Aus diesem Grund schlagen wir ein neues Metamodell zur Beschreibung von Datenflüssen von Softwaresystemen vor. Diese Metamodell ist so entworfen, dass eine automatisierte Übersetzung von Instanzen in ein Programm der logischen Programmiersprache Prolog ermöglicht wird. Dieses Programm erlaubt dann die einfache Formulierung von Regeln zur automatisierten Prüfung der Einhaltung von Datenflussbeschränkungen. Ein wichtiger Aspekt für den Entwurf und die Implementierung unseres Ansatzes war die Skalierbarkeit: Ziel war es, sicherzustellen dass unser Ansatz effizient einsetzbar ist. Hierbei haben wir insbesondere Techniken zur Optimierung von Prolog Programmen entwickelt, deren Einsatzmöglichkeiten nicht nur auf unseren Ansatz beschränkt sind.  +
Big data technology pushes the frontiers of science. A particularly interesting application of it is culturomics. It uses big data techniques to accurately quantify and observe language and culture over time. A milestone to enable this kind of analysis in a traditionally humanistic field was the effort around the Google Books project. The scanned books were then transformed into a so called N-gram corpus, that contains the frequency of words and their combinations over time. Unfortunately this corpus is enormous in size of over 2 terabytes of storage. This makes handling, storing and querying the corpus difficult. In this bachelor thesis, we introduce a novel technique to reduce the storage requirements of N-gram corpora. It uses Natural Language Processing to estimate the counts of N-grams. Our approach is able to prune around 30% more effective than state-of-the-art methods.  +
Graph Neural Networks (GNNs) have shown great potential for use cases that can be described as graphs. However, training GNNs presents unique challenges due to the characteristics of graph data. The focus of this thesis is to examine their learning abilities by developing a GNN-based surrogate model for the injection molding process from materials science. While numerical simulations can model the mold filling accurately, they are computationally expensive and require significant trial-and-error for parameter optimization. We propose representing the mold geometry as a static graph and constructing additional node and edge features from domain knowledge. We plan to enhance our model with a self-attention mechanism, allowing dynamic weighting of a node's neighbors based on their current states. Further improvements may come from customizing the model’s message passing function and exploring node sampling methods to reduce computational complexity. We compare our approach to conventional machine learning models w.r.t. predictive performance, generalizability to arbitrary mold geometries and computational efficiency. This thesis is a follow-up work to a bachelor thesis written at the chair in 2022.  +
Verification methods detect unexpected behavior of business process models before their execution. In many process models, verification depends on data values. A data value is a value in the domain of a data object, e.g., $1000 as the price of a product. However, verification of process models with data values often leads to state-space explosion. This problem is more serious when the domain of data objects is large. The existing works to tackle this problem often abstract the domain of data objects. However, the abstraction may lead to a wrong diagnosis when process elements modify the value of data objects. In this thesis, we provide a novel approach to enable verification of process models with data values, so-called data-value-aware process models. A distinctive of our approach is to support modification of data values while preserving the verification results. We show the functionality of our approach by conducting the verification of a real-world application: the German 4G spectrum auction model.  +
The k nearest neighbors (k-NN) of a time series are the k closest sequences within a dataset regarding a distance measure. Often, not the entire time series, but only specific time intervals are of interest, e.g., to examine phenomena around special events. While numerous indexing techniques support the k-NN search of time series, none of them is designed for an efficient interval-based search. This work presents the novel index structure Time Series Envelopes Index Tree (TSEIT), that significantly speeds up the k-NN search of time series in arbitrary user-defined time intervals.  +
Wartbarkeit spielt eine zentrale Rolle für die Langlebigkeit von Softwareprojekten. Ein wichtiger Teil der Wartbarkeit besteht darin, dass die natürlichsprachliche Dokumentation des Quelltextes einen guten Einblick in das Projekt und seinen dazugehörigen Quelltext liefert. Zur besseren Wartbarkeit dieser beiden Software-Artefakte besteht die Aufgabe dieser Arbeit darin, Verbindungen zwischen den Elementen dieser beiden Artefakte aufzubauen. Diese Verbindungen heißen Trace Links und können für verschiedene Zwecke der Wartbarkeit genutzt werden. Diese Trace Links ermöglichen zum Beispiel die Inkonsistenzerkennung zwischen den beiden Software-Artefakten oder können auch für verschiedene Analysen benutzt werden. Um diese Trace Links nachträglich aus den beiden Software-Artefakten natürlichsprachlicher Dokumentation und Quelltext zu gewinnen, wird das bereits bestehende ArDoCo Framework benutzt und auf das Software-Artefakt Quelltext erweitert. Ebenfalls werden ArDoCos bestehende Entscheidungskriterien auf den neuen Kontext angepasst. Der neuartige Kontext führt zu Herausforderungen bezüglich der Datenmenge, die durch neue Entscheidungskriterien adressiert werden. Dabei zeugen die Ergebnisse dieser Arbeit eindeutige von Potenzial, weswegen weiter darauf aufgebaut werden sollte.  +
Klassendiagramme ermöglichen die grafische Modellierung eines Softwaresystems. Insbesondere zu Beginn von Softwareprojekten entstehen diese als handgezeichnete Skizzen auf nicht-digitalen Eingabegeräten wie Papier oder Whiteboards. Das Festhalten von Skizzen dieser Art ist folglich auf eine fotografische Lösung beschränkt. Eine digitale Weiterverarbeitung einer auf einem Bild gesicherten Klassendiagrammskizze ist ohne manuelle Rekonstruktion in ein maschinell verarbeitbares Diagramm nicht möglich. Maschinelle Lernverfahren können durch eine Skizzenerkennung eine automatisierte Transformation in ein digitales Modell gewährleisten. Voraussetzung für diese Verfahren sind annotierte Trainingsdaten. Für UML-Klassendiagramme sind solche bislang nicht veröffentlicht. Diese Arbeit beschäftigt sich mit der Erstellung eines Datensatzes annotierter UML-Klassendiagrammskizzen für maschinelle Lernverfahren. Hierfür wird eine Datenerhebung, ein Werkzeug für das Annotieren von UML-Klassendiagrammen und eine Konvertierung der Daten in ein Eingabeformat für das maschinelle Lernen präsentiert. Der annotierte Datensatz wird im Anschluss anhand seiner Vielfältigkeit, Detailtiefe und Größe bewertet. Zur weiteren Evaluation wird der Einsatz des Datensatzes an einem maschinellen Lernverfahren validiert. Das Lernverfahren ist nach dem Training der Daten in der Lage, Knoten mit einem F1-Maß von über 99%, Textpositionen mit einem F1-Maß von über 87% und Kanten mit einem F1-Maß von über 71% zu erkennen. Die Evaluation zeigt folglich, dass sich der Datensatz für den Einsatz maschineller Lernverfahren eignet.  +
Diese Arbeit verfolgt das Ziel, ein natürlichsprachliches Dialogsystem zu entwickeln, welches zur Bearbeitung von Anfragen aus dem Umfeld eines Rechenzentrums verwendet werden kann. Das System ermöglicht die gleichzeitige Verwendung durch mehrere Nutzer, ohne dass sich diese während der Nutzung gegenseitig beeinflussen. Des Weiteren stellt die Einführung eines Kommunikationskanals zwischen Endanwendern und Experten eine wesentliche Erweiterung des Dialogsystems dar. Sie soll es ihm ermöglichen, Anfragen, welche es nur unzureichend beantworten kann, an einen Experten weiterzuleiten. Diese Erweiterung verfolgt das Ziel, die Zahl der erfolgreich gelösten Fragestellungen zu maximieren. Diese Arbeit umfasst die folgenden Schritte: nach einem ersten Grobentwurf und der Überlegung eines möglichen Dialogablaufs kann das System aus den zwei Komponenten dem Backend, welches den Kern des Dialogsystems bildet und für die Verarbeitung von Eingaben sowie die Antwortgenerierung zuständig ist, und dem Frontend, welches die Interaktion mit dem System ermöglicht, implementiert werden. Zuletzt wird es anhand der Anzahl an korrekt beantworteten Anfragen evaluiert. Zusätzlich wird ein Vergleich mit den auf den gleichen Datenbasen agierenden Internetauftritten gezogen. Dazu wurden 25 Teilnehmer eingeladen, an der Evaluation teilzunehmen. Insgesamt konnte das Dialogsystem 135 der 150 Fragen automatisiert beantworten. Weitere 13 Anfragen konnten gelöst werden, indem die Mehrmandantenfähigkeit des Systems ausgenutzt wurde und Experten zurate gezogen wurden.  +
Die Cybersicherheit bereits in frühen Entwicklungsphasen zu betrachten, gewinnt in der Automobilindustrie zunehmend an Relevanz, um immer komplexer werdende Fahrzeuge gegen Angriffe abzusichern. Welche Teile eines Systemmodells in einer modellbasierten Sicherheitsbetrachtung bereits analysiert wurden, ist nicht eindeutig und meist nur händisch mit Expertenwissen zu ermitteln. Bestehende Ansätze liefern in der frühen Konzeptphase bestenfalls unvollständige Ergebnisse, da das Systemmodell nur skizzenhaft existiert. In dieser Arbeit wurde ein Konzept vorgestellt, mit dem Sicherheitsbetrachtungen bereits in der frühen Konzeptphase durch eine Metrik auf Vollständigkeit bewertet werden können. Dazu werden aus Systemzusammenhängen Elemente bestimmt, die in einer vollständigen Sicherheitsbetrachtung enthalten sein müssen. Diese Erwartung wird daraufhin mit der tatsächlichen Sicherheitsbetrachtung verglichen, um den Grad der Vollständigkeit zu bestimmen. Das Konzept wurde prototypisch implementiert und dessen Anwendbarkeit anhand einer Fallstudie aus dem EVITA Projekt evaluiert.  +
Mithilfe der modellgetriebenen Softwareentwicklung kann im Entwicklungsprozess eines Software-Systems, dieses bzw. dessen Teile und Abstraktionen durch Modelle beschrieben werden. Diese Modelle können untereinander in Abhängigkeitsbeziehungen stehen sowie über redundante Informationen verfügen. Um Inkonsistenzen zu vermeiden, werden Tools zur automatisierten Konsistenzhaltung eingesetzt. In dieser Arbeit wird das EDA-Programm Eagle, das zur Erstellung elektronischer Schaltpläne und Leiterplatten genutzt wird, in das Vitruvius-Framework eingebunden. Bestandteile sind hierbei das Ableiten eines Ecore-Metamodells, das die Schaltplandatei von Eagle beschreibt, das Etablieren von Transformationen zwischen Ecore-Modellen und Schaltplandateien sowie das Extrahieren von Änderungen zwischen zwei chronologisch aufeinanderfolgenden Schaltplandateien. Die extrahierten Änderungen werden in das Vitruvius-Framework eingespielt, wo sie durch das Framework zu in Konsistenzbeziehung stehenden Ecore-Modellen propagiert werden. Zudem wird ein Verfahren eingesetzt, um Änderungen in der Schaltplandatei einem eindeutigen elektronischen Bauteil zuordnen zu können. Dies ist erforderlich, um Bauteile im Kontext mit anderen Programmen zu verfolgen, da die Eigenschaften eines Bauteils in verschiedenen Programmen variieren können.  +
Im Zuge der Masterarbeit sollte eine domänenspezifische Sprache für Änderungsausbreitungsregeln evaluiert und erweitert werden. Durch diese Sprache wird es Domänenexperten ermöglicht, Änderungsausbreitungsregeln auf Grundlage eines Metamodells innerhalb des Änderungsausbreitungsframeworks zu erstellen. Dabei sind keine tiefer gehenden Kenntnisse der Java-Programmierung oder des Änderungsausbreitungsframeworks notwendig. Aus den in dieser Sprache formulierten Regeln werden automatisch Java-Klassen generiert, die eine Änderungsausbreitungsberechnung durchführen können. Zu Evaluationszwecken wurden die bisher mittels Java-Methoden implementierten Änderungsausbreitungsberechnungen untersucht. Diese konnten in Regelklassen gegliedert und teilweise in der Sprache abgebildet werden. Für die nicht abbildbaren Regeln wurden neue Sprachkonstrukte konzipiert. Zudem wurde die Übertragbarkeit von der Sprache zwischen unterschiedlichen Anwendungsdomänen untersucht.  +
Diese Arbeit stellt eine Schnittstelle vor, die, eingebunden in ein Programm, die Aktionen eines Nutzers im Hintergrund auf dem lokalen Rechner verarbeitet und speichert, und versucht, aus den gesammelten Daten eine Vorhersage für die nächste Aktion zu ermitteln. Eine Nutzeraktion ist dabei durch die Daten eines Datensatzes definiert, die der Nutzer durch die Aktion abfragen möchte. Aus einer Reihe von Paaren (Nutzereingabe, extrahierte Daten), die automatisch über eine REST-Schnittstelle oder von Hand über eine grafische Nutzeroberfläche in das System eingespeist werden können, wird ein Modell gewonnen, das für jede Aktion alle unmittelbar nachfolgenden Aktionen als Bigramm speichert und ihre Häufigkeit zählt. Die Schnittstelle stellt eine Reihe von Vorhersagestrategien zur Verfügung. Eine davon nutzt ein künstliches neuronales Netz, das das System in die Lage versetzt, auch dann einen Aktionsvorschlag zu machen, wenn der Nutzer zuvor eine völlig unbekannte Aktion ausgeführt hat. Die Leistungsfähigkeit des neuronalen Netzes wurde an Beispieldaten getestet und evaluiert. Für die Evaluation wurden zufällig Modelle mit Aktionsfolgen generiert, die menschliches Verhalten nachahmen sollten. Bei einem stichprobenartigen Durchlauf, bei dem das Modell auf zweitausend generierte Nutzeranfragen trainiert wurde, konnte das System die Aktionen zu 54.2 Prozent replizieren, bei zweihundert Nutzeranfragen im Mittel zu 72.2 Prozent. Bei authentischem menschlichem Nutzerverhalten gibt es gute Gründe dafür, anzunehmen, dass die Vorhersage noch leistungsfähiger ist.  +
In der Änderungsausbreitungsanalyse wird untersucht, wie sich Änderungen in Systemen ausbreiten. Dazu werden unter anderem Algorithmen entwickelt, die identifizieren, welche Elemente in einem System von einer Änderung betroffen sind. Für die Anpassung bestehender Algorithmen existiert keine spezielle Sprache, weshalb Domänenexperten universelle Programmiersprachen, wie Java, verwenden müssen, um Änderungsausbreitungen zu formulieren. Durch den imperativen Charakter von Java, benötigen Domänenexperten mehr Code und mehr Wissen über Implementierungsdetails, als sie mit einer, auf die Änderungs- ausbreitungsanalyse zugeschnittenen, Sprache bräuchten. Eine Sprache sollte stets an den Algorithmus der jeweiligen Änderungsausbreitungsanalyse angepasst sein. Für den in dieser Arbeit betrachteten Ansatz zur Änderungsausbreitungsanalyse mit der Bezeichnung Karlsruhe Architectural Maintainability Prediction (KAMP), besteht noch keine spezielle Sprache. KAMP ist ein Ansatz zur Bewertung architekturbasierter Änderungsanfragen, der in einem gleichnamigen Softwarewerkzeug implementiert ist. Diese Arbeit präsentiert mit der Change Propagation Rule Language (CPRL) eine spezielle Sprache für den, in KAMP verwendeten, Algorithmus der Änderungsausbreitungsanalyse. Zum Abschluss wird der Vorteil der entwickelten Sprache, gegenüber drei konkurrierenden Sprachen, ermittelt. Die Arbeit kommt zum Schluss, dass CPRL kompakter als konkurrierende Sprachen ist und es gleichzeitig erlaubt, die Mehrheit an denkbaren Änderungsausbreitungen zu beschreiben.  +
Der Einsatz mehrerer Modelle zur Beschreibung eines Softwaresystems birgt oftmals die Herausforderung, diese konsistent zu halten. Während es viel Forschung zur Konsistenzhaltung zweier Modelle gibt, untersuchen nur wenige Arbeiten die Spezifika der Konsistenzhaltung mehrerer Modelle. In dieser Bachelorarbeit wird eine neue Programmiersprache vorgestellt, die es erlaubt, Transformationen zu erstellen, die mehr als zwei Modelle konsistent halten. Die Sprache verwendet ein Zwischen-Metamodell, sodass alle Transformationen zuerst von einem existierenden Modell in das Zwischenmodell und dann erst in die anderen Modelle ausgeführt werden.  +
Die meta-kognitive Strategie "laut nachzudenken" kann auf neuronale Sprachmodelle übertragen werden, wie Betz et al. zeigen: Ein vortrainiertes Sprachmodell ist besser in der Lage, deduktive Schlussfolgerungsprobleme zu lösen, wenn es zuvor dynamische Problemelaborationen generiert. Das Sprachmodell verwendet auf dem Datensatz von Betz et al. eine einfache Heuristik für seine Antwortvorhersage, die es mithilfe der selbst generierten Kontexterweiterungen effektiver einsetzen kann. In dieser Arbeit untersuche ich, wie dynamische Kontexterweiterungen die Performanz eines neuronalen Sprachmodells beeinflussen, wenn es nicht auf eine solche Heuristik zurückgreifen kann. Ich überprüfe (i) die Schlussfolgerungsfähigkeiten eines vortrainierten neuronalen Sprachmodells im Zero-Shot Setting, (ii) den Einfluss verschiedener vorgegebener Kontexterweiterungen auf die Zero-Shot-Performanz und (iii) die Fähigkeiten des Sprachmodells, selbst effektive Kontexterweiterungen zu generieren und zu nutzen.  +
Unvollständige und nicht überprüfte Anforderungen können zu Missverständnissen und falschen Vorstellungen führen. Gerade im Sicherheitsbereich können verletzte Anforderungen Hinweise auf potenzielle Schwachstellen sein. Um eine Software auf Schwachstellen zu prüfen, werden Sicherheitsanforderungen an ihre Implementierung geknüpft. Hierfür müssen spezifische Anforderungsattribute identifiziert und mit dem Design verknüpft werden. In dieser Arbeit werden 93 Sicherheitsanforderungen auf Designebene für die Open-Source-Software EVerest, einer Full-Stack-Umgebung für Ladestationen, erhoben. Mithilfe von Prompt Engineering und Fine-tuning werden Designelemente mittels GPT klassifiziert und ihre jeweiligen Erwähnungen aus den erhobenen Anforderungen extrahiert. Die Ergebnisse deuten darauf hin, dass die Klassifizierung von Designelementen in Anforderungen sowohl bei Prompt Engineering als auch bei Fine-tuning gut funktioniert (F1-Score: 0,67-0,73). In Bezug auf die Extraktion von Designelementen übertrifft Fine-tuning (F1-Score: 0,7) jedoch Prompt Engineering (F1-Score: 0,52). Wenn beide Aufgaben kombiniert werden, übertrifft Fine-tuning (F1-Score: 0,87) ebenfalls Prompt Engineering (F1-Score: 0,61).  +
Many modern high-performance applications are highly-configurable software systems that provide hundreds or even thousands of configuration options. System administrators or application users need to understand all these options and their impacts on the software performance to choose suitable configuration values. To understand the influence of configuration options on the run-time characteristics of a software system, users can use performance prediction models, but building performance prediction models for highly-configurable high-performance applications is expensive. However, not all configuration options, which a software system offers, are performance-relevant. Removing these performance-irrelevant configuration options from the modeling process can reduce the construction cost. In this thesis, we explore and analyze two different approaches to empirically identify configuration options that are not performance-relevant and can be removed from the performance prediction model. The first approach reuses existing performance modeling methods to create much cheaper prediction models by using fewer samples and then analyzing the models to identify performance-irrelevant configuration options. The second approach uses white-box knowledge acquired through dynamic taint analysis to systematically construct the minimal number of required experiments to detect performance-irrelevant configuration options. In the evaluation with a case study, we show that the first approach identifies performance-irrelevant configuration options but also produces misclassifications. The second approach did not perform to our expectations. Further improvement is necessary.  +
Microservices architectures have gained popularity over the recent years, especially since global players in the internet economy changed to this architectural style. Many architectural patterns for recurring problems were identified, such as the Service Discovery for service registration or Client-side Load Balancing for load distribution. Architectural analyses with the Palladio framework allow for the investigation of the attainment of these requirements during design time. The Architectural Templates method combines architecture models with architectural patterns and styles and allows for design-time analyses. In this thesis, we create a Microservices Architectural Templates catalog, containing microservices Architectural Templates. A selection of widely used patterns is analyzed and conceptually mapped to the Architectural Templates method. A case study, conducted with a sample application representing a customer relationship management application, shows that software architects can profit from the provided templates by automatic model completions and accurate analyses results.  +
Nowadays, software systems are evolving at a pace never seen before. As a result, emerging inconsistencies between different software artifacts are almost inevitable. Currently, there are already approaches for automated consistency maintenance between source code and architecture models. However, these approaches have various limitations. Therefore, in this thesis, we present a comprehensive approach for supporting the consistency preservation between software artifacts with special focus on software evolution and adaptation. At design-time, source code analysis and consistency rules are used, while at run-time, monitoring data is used as input for a transformation pipeline. In contrast to already existing approaches, the automated derivation of the system composition is supported. Ultimately, self-validations were included as a central component of the approach. In a case study based evaluation the accuracy of the models and the performance of the approach was measured. In addition, the scalability of the transformations within the pipeline was investigated.  +
With digitalization in progress, the amount of sensitive data stored in software systems is increasing. However, the confidentiality of this data can often not be guaranteed, as uncertainties with an impact on confidentiality exist, especially in the early stages of software development. As the consideration of uncertainties regarding confidentiality is still novel, there is a lack of awareness of the topic among software architects. Additionally, the existing knowledge is scattered among researchers and institutions, making it challenging to comprehend and utilize for software architects. Current research on uncertainties regarding confidentiality has focused on analyzing software systems to assess the possibilities of confidentiality violations, as well as the development of methods to classify uncertainties. However, these approaches are limited to the researchers’ observed uncertainties, limiting the generalizability of classification systems, the validity of analysis results, and the development of mitigation strategies. This thesis presents an approach to enable the collection and management of knowledge on uncertainties regarding confidentiality, enabling software architects to comprehend better and identify uncertainties regarding confidentiality. Furthermore, the proposed approach strives to enable collaboration between researchers and practitioners to manage the effort to collect the knowledge and maintain it. To validate this approach, a prototype was developed and evaluated with a user study of 17 participants from software engineering, including 7 students, 5 researchers, and 5 practitioners. Results show that the approach can support software architects in identifying and describing uncertainties regarding confidentiality, even with limited prior knowledge, as they could identify and describe uncertainties correctly in a close-to-real-world scenario in 94.4% of the cases.  +