Attribut:Kurzfassung

Aus SDQ-Institutsseminar

Dies ist ein Attribut des Datentyps Text.

Unterhalb werden 50 Seiten angezeigt, auf denen für dieses Attribut ein Datenwert gespeichert wurde.
(
Performancevorhersage für Container-Anwendungen Abstract: Nowadays distributed applications are often not statically deployed on virtual machines. Instead, a desired state is defined declaratively. A control loop then tries to create the desired state in the cluster. Predicting the impact on the performance of a system using these deployment techniques is difficult. This paper introduces a method to predict the performance impact of the usage of containers and container orchestration in the deployment of a system. Our proposed approach enables system simulation and experimentation with various mechanisms of container orchestration, including autoscaling and container scheduling. We validated this approach using a micro-service reference application across different scenarios. Our findings suggest, that the simulation could effectively mimic most features of container orchestration tools, and the performance prediction of containerized applications in dynamic scenarios could be improved significantly.  +
Gamify Your Learning Experience -- Möglichkeiten von Gamification Lernprozesse und -erfolge zu visualisieren Gamification enhances education by boosting motivation and fostering effective learning. This paper explores the link between game design elements and intrinsic motivation in education. Drawing from 24 scholarly papers, it identifies ten key game design elements: badges, points, leaderboards, virtual currency, progress bars, achievements, avatars, concept maps, storytelling, and feedback. To evaluate their impact, a survey using mockups was conducted. Results highlight the popularity of combinations like concept maps with progress bars and points with feedback. The study also uncovers correlations between preferred elements and learner characteristics. By uncovering these insights, the research advances gamification in education and guides tailored approaches for boosting student motivation.  +
A
Die Entwicklung moderner Softwaresysteme basiert oft auf mehreren Artefakten. Diese Artefakte teilen sich oft redundante oder abhängige Informationen, welche während der Entwicklung des Softwaresystems konsistent gehalten werden müssen. Die manuelle Durchführung dieses Prozesses ist arbeitsaufwendig und fehleranfällig. Konsistenzerhaltungsmechanismen ermöglichen diese Artefakte automatisch konsistent zu halten. Konsistenzerhaltung basiert oftmals auf bidirektionalen Transformationen, welche ein Zielmodell aktualisieren, wenn ein Quellmodell modifiziert wird. Während das Gebiet der bidirektionale Transformationen stark erforscht ist, hat Konsistenzerhaltung von mehr als zwei Modellen bisher weniger Aufmerksamkeit erhalten.Allerdings umfasst die Entwicklung von Softwaresystemen jedoch oft mehr als zwei Modelle. Folglich benötigt man Konsistenzerhaltung zwischen mehr als zwei Modellen, welche durch Netzwerke bidirektionaler Transformationen erreicht werden kann. Solche Transformationsnetzwerke kombinieren mehrere Transformationen, wobei jede einzelne für die Konsistenzerhaltung zweier Modelle verantwortlich ist. Da die Entwicklung jeder Transformation individuelles Domänenwissen erfordert, werden sie in der Regel von mehreren Domänenexperten unabhängig voneinander entwickelt. Zusätzlich können einzelne Transformationen in anderen Netzwerken wiederverwendet werden. Dies wird jedoch in bisherigen Arbeiten nicht berücksichtigt, macht aber die Konsistenzerhaltung durch Netzwerke bidirektionaler Transformationen anfällig für Probleme. In einem Netzwerk von Transformationen kann es beispielsweise zwei oder mehr Verkettungen von Transformationen geben, die dieselben Metamodelle mit verschiedenen anderen Metamodellen in Beziehung setzen. Jedoch können sie die Elemente unterschiedlich miteinander in Beziehung setzen. Dies kann zum Beispiel zu einer doppelten Erstellung derselben Elemente über die verschiedenen Transformationsketten führen. Es gibt jedoch kein systematisches Wissen über die Problemarten, die in solchen Netzwerken auftreten können oder ob und wie derartige Probleme systematisch verhindert werden können. Diese Thesis führt eine Fallstudie durch, die ermitteln soll, welche Arten von Problemen bei der Konsistenzerhaltung durch Netzwerke bidirektionaler Transformationen auftreten können. Für diese Probleme leiten wir eine Klassifizierung hinsichtlich des erforderlichen Wissens für ihre Vermeidung ab. Wir unterscheiden zwischen dem Wissen, dass die Transformation in einem Netzwerk genutzt werden kann und dem Wissen über die Inhalte der anderen Transformationen. Für Probleme, die Transformationsentwickler verhindern können, schlagen wir Strategien zur systematischen Vermeidung während ihrer Konstruktion vor. In unserer Fallstudie sind 90 % der gefundenen Probleme verhinderbar. Die übrigen Probleme lassen sich während der Entwicklung einer einzelnen Transformation nicht ohne das Wissen über weitere Transformationen im Netzwerk vermeiden. Folglich hilft diese Thesis Transformationsentwicklern Fehler bei der Erstellung von Transformationen systematisch zu vermeiden und ermöglicht es Netzwerkentwicklern Fehler zu erkennen, die bei der Konstruktion der Transformation nicht verhindert werden können.  
Dependency estimation is a significant part of knowledge discovery and allows strategic decisions based on this information. Many dependency estimation algorithms require a large amount of data for a good estimation. But data can be expensive, as an example experiments in material sciences, consume material and take time and energy. As we have the challenge of expensive data collection, algorithms need to be data efficient. But there is a trade-off between the amount of data and the quality of the estimation. With a lack of data comes an uncertainty of the estimation. However, the algorithms do not always quantify this uncertainty. As a result, we do not know if we can rely on the estimation or if we need more data for an accurate estimation. In this bachelor’s thesis we compare different state-of-the-art dependency estimation algorithms using a list of criteria addressing the above-mentioned challenges. We partly developed the criteria our self as well as took them from relevant publications. Many of the existing criteria where only formulated qualitative, part of this thesis is to make these criteria measurable quantitative, where possible, and come up with a systematic approach of comparison for the rest. We also conduct a quantitative analysis of the dependency estimation algorithms by experiment on well-established and representative data sets that performed well in the qualitative analysis.  +
Although modularity is a well established concept, it has not received much attention when it comes to model-driven software development. Over time, metamodels tend to evolve and grow in complexity to encompass new aspects and features. If modularization steps are not taken and metamodels are extended intrusively, they can become difficult to maintain and to extend. With the increased complexity, the modularization can become even more challenging. We present a novel approach to assist the modeler in the task of modularization. Our approach addresses the problem from a graphical perspective. The proposed tool support displays a layered structure, where each layer has certain level of abstraction, and allows the modeler to organize metamodels inside the layers. The tool provides the modeler with full control over the modularization process and full knowledge about the relations between the metamodels, thus facilitating the modularization task greatly.  +
Vertraulichkeit ist eine wichtige Sicherheitsanforderung an Informationssysteme. Bereits im frühen Entwurf existieren Ungewissheiten, sowohl über das System als auch dessen Umgebung, die sich auf die Vertraulichkeit auswirken können. Es existieren Ansätze, die Softwarearchitektinnen und Softwarearchitekten bei der Untersuchung von Ungewissheiten und deren Auswirkung auf die Vertraulichkeit unterstützen und somit den Aufwand reduzieren. Diese Ansätze wurden jedoch noch nicht umfangreich evaluiert. Bei der Evaluierung ist ein einheitliches Vorgehen wichtig, um konsistente Ergebnisse zu erhalten. Obwohl es allgemein Arbeiten in diesem Bereich gibt, sind diese nicht spezifisch genug, um die Anforderung zu erfüllen. In dieser Ausarbeitung stellen wir ein Rahmenwerk vor, das diese Lücke schließen soll. Dieses Rahmenwerk besteht aus einem Untersuchungsprozess und einem Fallstudienprotokoll, diese sollen Forschenden helfen, weitere Fallstudien zur Validierung der Ungewissheits-Auswirkungs-Analysen strukturiert durchzuführen und damit auch Ungewissheiten und deren Auswirkung auf Vertraulichkeit zu erforschen. Wir evaluieren unseren Ansatz, indem wir eine Mobilitätsfallstudie durchführen.  +
An existing architectural attack propagation analysis considers vulnerability analysis in software architecture. The analysis is using access control policies together with the vulnerabilities and their combinations to propagate through the system. This phenomenon has to be investigated thoroughly in a real-life context to be able to make conclusions about metrics, e.g. accuracy. However, a concrete approach to achieve the investigation of Attack Propagation Analyses in a real-life context is missing. This work aims to close this gap with “A Mobility Case Study for Validating Attack Propagation Analyses”. In order to achieve validity, conventional properties of case studies in software engineering were identified. Afterward, the end result, in form of a software model, was reviewed according to these properties. This review has revealed that all properties were fulfilled, however not in the highest degree of fulfillment. A discussion about this is held in this thesis.  +
Parallelisierende Compiler und Auto-Tuner sind zwei der vielen Technologien, die Entwick- lern das Schreiben von leistungsfähigen Anwendungen für moderne heterogene Systeme erleichtern können. In dieser Arbeit stellen wir einen parallelisierenden Compiler vor, der Parallelität in Programmen erkennen und parallelen Code für heterogene Systeme erzeu- gen kann. Außerdem verwendet der vorgestellte Compiler Auto-Tuning, um eine optimale Partitionierung der parallelisierten Codeabschnitte auf mehrere Plattformen zur Laufzeit zu finden, welche die Ausführungszeit minimiert. Anstatt jedoch die Parallelisierung ein- mal für jeden parallelen Abschnitt zu optimieren und die gefundenen Konfigurationen so lange zu behalten wie das Programm ausgeführt wird, sind Programme, die von unserem Compiler generiert wurden, in der Lage zwischen verschiedenen Anwendungskontexten zu unterscheiden, sodass Kontextänderungen erkannt und die aktuelle Konfiguration für je- den vorkommenden Kontext individuell angepasst werden kann. Zur Beschreibung von Kontexten verwenden wir sogenannte Indikatoren, die bestimmte Laufzeiteigenschaften des Codes ausdrücken und in den Programmcode eingefügt werden, damit sie bei der Aus- führung ausgewertet und vom Auto-Tuner verwendet werden können. Darüber hinaus speichern wir gefundene Konfigurationen und die zugehörigen Kontexte in einer Daten- bank, sodass wir Konfigurationen aus früheren Läufen wiederverwenden können, wenn die Anwendung erneut ausgeführt wird. Wir evaluieren unseren Ansatz mit der Polybench Benchmark-Sammlung. Die Ergeb- nisse zeigen, dass wir in der Lage sind, Kontextänderungen zur Laufzeit zu erkennen und die Konfiguration dem neuen Kontext entsprechend anzupassen, was im Allgemeinen zu niedrigeren Ausführungszeiten führt.  +
A model-based catalog for security solutions and an architecture-based security analysis tool that helps developers without security expertise is in development at the FZI. The more the catalog grows, the harder it gets for its users to browse it manually. A query language for the security catalog would offer users an easy way to browse it and, in addition, it would support the development of the security analysis tool. During the work on this thesis, this query language was developed. Afterwards, it was evaluated on the case study CoCoME.  +
Subgroup discovery is a data mining technique that is used to extract interesting relationships in a dataset related to to a target variable. These relationships are described in the form of rules. Multiple SD techniques have been developed over the years. This thesis establishes a comparative study between a number of these techniques in order to identify the state-of-the-art methods. It also analyses the effects discretization has on them as a preprocessing step . Furthermore, it investigates the effect of hyperparameter optimization on these methods. Our analysis showed that PRIM, DSSD, Best Interval and FSSD outperformed the other subgroup discovery methods evaluated in this study and are to be considered state-of-the-art . It also shows that discretization offers an efficiency improvement on methods that do not employ internal discretization. It has a negative impact on the quality of subgroups generated by methods that perform it internally. The results finally demonstrates that Apriori-SD and SD-Algorithm were the most positively affected by the hyperparameter optimization.  +
Die sichere Behandlung von sensitiven Daten stellt eine zentrale Qualitätseigenschaft eines Softwaresystems dar und muss bereits während des Architekturentwurfs beachtet werden. Ein Ansatz zur Modellierung von Sicherheitseigenschaften auf der Architekturebene ist Data-Centric Palladio (DCP). DCP reichert das Architekturmodell um ein Datenflussmodell an, um Analysen der Vertraulichkeitseigenschaften von Daten zu ermöglichen. Es ist jedoch unklar, ob der in DCP gewählte Ansatz bezüglich der Ausdrucksmächtigkeit äquivalent zu etablierten Ansätzen der Modellierung und Analyse von Sicherheitseigenschaften ist. Daher wird in dieser Arbeit die Ausdrucksmächtigkeit von DCP mit der Ausdrucksmächtigkeit von UMLsec verglichen. Dazu werden für ausgewählte UMLsec-Analysen äquivalente Analysen in DCP definiert und implementiert. Zudem werden Modelltransformationen zwischen den Eingabemodellen der UMLsec-Analyse und der DCP-Analyse spezifiziert, mit derer Hilfe die Genauigkeit der erstellten DCP-Analyse überprüft wird. Aus den Erkenntnissen, die aus der Definition und Evaluation der erstellten DCP-Analysen gewonnen werden, wird eine Aussage über die Ausdrucksmächtigkeit von DCP im Vergleich zu UMLsec getroffen.  +
Im Forschungsprojekt QuartrBack wurden Menschen mit Demenz GPS-Tracker mitgegeben, um deren Position zu jeder Zeit bestimmen zu können. Die Herausforderung dieser Bachelorarbeit war es, aus den erhaltenen (sehr dünnen) Daten ein möglichst genaues Quartier (also jene Wege, die oft von einer Person gelaufen werden) zu erstellen. Dies wurde mithilfe der OpenStreetMaps Daten realisiert.  +
Software-Systeme können sensible Informationen verarbeiten. Um ihre Vertraulichkeit zu gewährleisten, können sowohl das Architekturmodell, als auch seine Implementierung hinsichtlich des Informationsflusses untersucht werden. Dazu wird eine Vertraulichkeitsspezifikation definiert. Beide Modellebenen besitzen eine Repräsentation der gleichen Spezifikation. Wird das System weiterentwickelt, kann sie sich auf beiden Ebenen verändern und dementsprechend widersprüchliche Aussagen enthalten. Möchte man die Vertraulichkeit der Informationen verifizieren, müssen die Spezifikationselemente im Quellcode in einem zusätzlichen Schritt in eine weitere Sprache übersetzt werden. Die Bachelorarbeit beschäftigt sich mit der Transformation der unterschiedlichen Repräsentationen der Vertraulichkeitsspezifikation eines Software-Systems. Das beinhaltet ein Abbildungskonzept zur Konsistenzhaltung der Vertraulichkeitsspezifikation und die Übersetzung in eine Sprache, die zur Verifikation benutzt werden kann.  +
A ranking is the result of running an experiment, a set of encoders is applied to an experimental condition (dataset, model, tuning, scoring) and are then ranked according to their performance. To draw conclusions about the performance of the encoders for a set of experimental conditions, one can aggregate the rankings into a consensus ranking. (i.e. taking the median rank) The goal of the thesis is to explore the space of consensus rankings and find all possible consensus rankings. However, running an experiment is a very time-consuming task. Therefore we utilize Active Learning, to avoid running unnecessary experiments. In Active Learning, the learner can choose the data it is trained on and achieves greater accuracy with fewer labeled data.  +
Performance Models (PMs) can be used to predict software performance and evaluate the alternatives at the design stage. Building such models manually is a time consuming and not suitable for agile development process where quick releases have to be generated in short cycles. To benefit from model-based performance prediction during agile software development the developers tend to extract PMs automatically. Existing approaches that extract PMs based on reverse-engineering and/or measurement techniques require to monitor and analyze the whole system after each iteration, which will cause a high monitoring overhead. The Continuous Integration of Performance Models (CIPM) approach address this problem by updating the PMs and calibrate it incrementally based on the adaptive monitoring of the changed parts of the code. In this work, we introduced an adaptive monitoring approach for performance model integration, which instruments automatically only the changed parts of the source code using specific pre-defined probes types. Then it monitors the system adaptively. The resulting measurements are used by CIPM to estimate PM parameters incrementally. The evaluation confirmed that our approach can reduce the monitoring overhead to 50%.  +
Outlier detection targets the discovery of abnormal data patterns. Typical scenarios, such as are fraud detection and predictive maintenance are particularly challenging, since the data is available as an infinite and ever evolving stream. In this thesis, we propose Adaptive Variational Autoencoders (AVA), a novel approach for unsupervised outlier detection in data streams. Our contribution is two-fold: (1) we introduce a general streaming framework for training arbitrary generative models on data streams. Here, generative models are useful to capture the history of the stream. (2) We instantiate this framework with a Variational Autoencoder, which adapts its network architecture to the dimensionality of incoming data. Our experiments against several benchmark outlier data sets show that AVA outperforms the state of the art and successfully adapts to streams with concept drift.  +
Raytracing ist ein rechenintensives Verfahren zur Erzeugung photorealistischer Bilder. Durch die automatische Optimierung von Parametern, die Einfluss auf die Rechenzeit haben, kann die Erzeugung von Bildern beschleunigt werden. Im Rahmen der vorliegenden Arbeit wurde der Auto-Tuner libtuning um ein generalisiertes Reinforcement Learning-Verfahren erweitert, das in der Lage ist, bestimmte Charakteristika der zu zeichnenden Frames bei der Auswahl geeigneter Parameterkonfigurationen zu berücksichtigen. Die hierfür eingesetzte Strategie ist eine ε-gierige Strategie, die für die Exploration das Nelder-Mead-Verfahren zur Funktionsminimierung aus libtuning verwendet. Es konnte gezeigt werden, dass ein Beschleunigung von bis zu 7,7 % in Bezug auf die gesamte Rechenzeit eines Raytracing-Anwendungsszenarios dieser Implementierung gegenüber der Verwendung von libtuning erzielt werden konnte.  +
Diese Arbeit behandelt die Beschreibung des Verhalten von Simulationen, welche von Modellen der Domänen Geschäftsprozessen und Informationsystem beschriebene Abläufe simulieren. Das beschreiben des Verhalten von Simulation visiert dabei das schaffen weiterer Vergleichsmöglichkeiten für selbige an. Dafür werden Formalismen hinsichtlich ihrer Beschreibungsmöglichkeiten für solche Simulationen evaluiert, mit dem Ziel einen Formalismus zu finden, welcher das Verhalten der Simulationen beschreiben kann. In der Literatur ist das Vergleichen von Simulationen mit dem Vergleichen des Simulationsergebnisses verknüpft. Das Erzeugen des Ergebnisses wird nicht zum Vergleich herangezogen. Das Einbeziehen des Verhaltens von Simulationen bietet weitere Kriterien für das Vergleichen von Simulationen. In einem ersten Schritt, werden innerhalb einer Studie Formslismen hinsichtlich ihrer Modelliergungsmöglichkeiten für das Beschreiben des genannten Verhaltens evaluiert. Im zweiten Schritt wird mithilfe der Studienergebnissen ein Formalismus entworfen, welcher auf die Anforderungen für das Beschreiben des Verhaltens der Simulationen angepasst ist. Das Ergebnis dieser Arbeit bildet ein Formalismus, welcher dahingehend evaluiert wurde, das Verhalten von Simulationen im genannten Kontext zu beschreiben.  +
Im Rahmen dieser Bachelorarbeit wurde die Relation zwischen Dokumentationen der Softwarearchitektur in natürlicher Sprache und formellen Modellen untersucht. Dabei wurde versucht herauszufinden, wie sich die Entwurfsentscheidungen in der Dokumentation auf das Modell auswirken. Zu diesem Zweck wurden zwei Fallstudien durchgeführt. Zunächst wurde ein Modell der Implementierung erstellt, das auf dem Palladio-Komponentenmodell basiert. Danach wurden die Aussagen in der Dokumentation klassifiziert und anschließend wurde untersucht, welche Entwurfsentscheidungen im Modell wiederzufinden sind und welche nicht dargestellt werden. Die Ergebnisse wurden genutzt, um eine Aussage über die Relation zwischen den Artefakten zu treffen.  +
Bei Disfluenzen handelt es sich um Unterbrechungen des normalen Sprechflusses, die durch Fehler, Wortwiederholungen, Füllwörter oder ähnliche andere Wörter entstanden sind. Sie sind ein wesentlicher Bestandteil von spontan gesprochenen Äußerungen. Sie erschweren jedoch eine nachfolgende Bearbeitung dieser Äußerungen und müssen daher korrigiert werden. Eine automatisierte Korrektur erweist sich aufgrund des unregelmäßigen Aufbaus der Disfluenzen als schwierig. Deshalb wird in dieser Bachelorarbeit die Erkennung und Korrektur von Disfluenzen in natürlichsprachlichen Äußerungen untersucht. Hierzu wird mit Hilfe eines maschinellen Lernverfahrens ein Klassifikator entwickelt, der Disfluenzen erkennt und korrigiert. Der Klassifikator wird dabei als Agent für die Rahmenarchitektur PARSE umgesetzt. Die Funktionalität des entworfenen Werkzeugs wird anhand von händischen Transkriptionen sowie einem Testdatensatz des Switchboard-Korpus evaluiert. Auf diesen beiden Datensätzen wird entsprechend ein F1-Wert von 0,710 beziehungsweise 0,792 erreicht.  +
Die Klassifikation von Entwurfsentscheidungen in natürlichsprachiger Softwaredokumentation ermöglichen bessere Implementierungs- und Wartungsprozesse und die Erstellung konsistenter Dokumentationsartefakte. Das in dieser Arbeit entwickelte Klassifikationsschema für Entwurfsentscheidungen erweitert bestehende Ansätze, um klar umrissene Klassen festzulegen und Entwurfsentscheidungen vollständig abzubilden. Das Schema wurde in einem iterativen Prozess die Passform des Klassifikationsschemas durch die Anwendung auf die reale Softwarearchitekturdokumentation von 17 Fallstudien verbessert und validiert. In einem zweiten Teil wird eine Anwendungsmöglichkeit des entwickelten Klassifikationsschemas eröffnet, indem in einer Proof-of-Concept-Implementierung untersucht wird, mit welchen Ansätzen Entwurfsentscheidungen identifiziert und klassifiziert werden können. Durch die Evaluation mit statistischen Maßen wird gezeigt, welche Methoden zur Textvorverarbeitung, zur Überführung in Vektorrepräsentationen und welche Lernalgorithmen besonders für diese Klassifikation geeignet sind.  +
In dieser Arbeit werden mehrere rekurrente neuronale Netze verglichen. Es werden LSTMs, GRUs, CTRNNs und Elman Netze untersucht. Die Netze werden dabei untersucht sich einen Punkt zu merken und anschließend nach dem Punkt mit einem virtuellen Roboterarm zu greifen. Bei LSTM, GRU und Elman Netzen wird auch untersucht wie die Netze die Aufgabe lösen, wenn jedes Neuron nur auf den eigenen Speicher zugreifen kann. Dabei hat sich herausgestellt, dass LSTMs und GRUs deutlich besser bei den Experimenten bewertet werden als CTRNNs und Elman Netze. Außerdem werden die Rechenzeit und der Zusammenhang zwischen der Anzahl der zu trainierenden Parameter und der Ergebnisse der Experimente verglichen.  +
Temporal text corpora like the Google Ngram Data Set usually incorporate a vast number of words and expressions, called ngrams, and their respective usage frequencies over the years. The large quantity of entries complicates working with the data set, as transformations and queries are resource and time intensive. However, many use cases do not require the whole corpus to have a sufficient data set and achieve acceptable query results. We propose various compression methods to reduce the total number of ngrams in the corpus. Specially, we propose compression methods that, given an input dictionary of target words, find a compression tailored for queries on a specific topic. Additionally, we utilize time-series compression methods for quick estimations about the properties of ngram usage frequencies. As basis for our compression method design and experimental validation serve CHQL (Conceptual History Query Language) queries on the Google Ngram Data Set.  +
Temporal text corpora like the Google Ngram dataset usually incorporate a vast number of words and expressions, called ngrams, and their respective usage frequencies over the years. The large quantity of entries complicates working with the dataset, as transformations and queries are resource and time intensive. However, many use-cases do not require the whole corpus to have a sufficient dataset and achieve acceptable results. We propose various compression methods to reduce the absolute number of ngrams in the corpus. Additionally, we utilize time-series compression methods for quick estimations about the properties of ngram usage frequencies. As basis for our compression method design and experimental validation serve CHQL (Conceptual History Query Language) queries on the Google Ngram dataset. The goal is to find compression methods that reduce the complexity of queries on the corpus while still maintaining good results.  +
Research papers are commonly classified into categories, and we can see the existing contributions as a massive document directory, with sub-folders. However, research typically evolves at an extremely fast pace; consider for instance the field of computer science. It can be difficult to categorize individual research papers, or to understand how research communities relate to each other. In this thesis we will analyze and visualize semantics from massive document directories. The results will be displayed using the arXiv corpus, which contains domain-specific (computer science) papers of the past thirty years. The analysis will illustrate and give insight about past trends of document directories and how their relationships evolve over time.  +
Non-intrusive load monitoring (NILM) algorithms aim at disaggregating consumption curves of households to the level of single appliances. However, there is no conventional way of quantifying and representing the tradeoff between the quality of analyses, such as the accuracy of the disaggregated consumption curves, and the load on the available computing resources. Thus, it is hard to plan the underlying infrastructure and resources for the analysis system and to find the optimal configuration of the system. This thesis introduces a system that assesses the quality of different analyses and their runtime behavior. This assessment is done based on varying configuration parameters and changed characteristics of the input dataset. Varied characteristics are the granularity of the data and the noisiness of the data. We demonstrate that the collected runtime behavior data can be used to choose reasonable characteristics of the input data set.  +
Generating source code from models is one of the major advantages of a model-driven development process but most of the time this generated code does not suffice and developers are still required to write code by hand. This leads to the question of how to best integrate handwritten and generated code. Previous authors suggested a number of possible solutions to this problem of integrating handwritten and generated code but the possibilities to objectively compare these alternatives are still limited. Therefore we collected the different analysis criteria suggested by other authors as well as complemented them with additional criteria proposed by senior developers. We then applied these criteria to the possible integration approaches presented by previous authors to create an overview for developers to use when having to choose an integration approach for their model-driven project. Applying the results of this analysis we chose the best-fitting integration approach for the development of a large industrial development project and found out that migrating to this suggested integration approach would improve the overall software quality regarding complexity, coupling, and cohesion.  +
Rückverfolgbarkeitsinformationen helfen Entwickler beim Verständnis von Softwaresystemen und dienen als Grundlage für weitere Techniken wie der Abdeckungsanalyse. In dieser Arbeit wird untersucht, wie Einbettungen für die automatische Rückverfolgbarkeit zwischen Anforderungen und Quelltext eingesetzt werden können. Dazu werden verschiedene Möglichkeiten betrachtet, die Anforderungen und den Quelltext mit Einbettungen zu repräsentieren und anschließend aufeinander abzubilden, um Rückverfolgbarkeitsverbindungen zwischen ihnen zu erzeugen. Für eine Klasse existieren beispielsweise viele Optionen, welche Informationen bzw. welche Klassenelemente zur Berechnung einer Quelltexteinbettung berücksichtigt werden. Für die Abbildung werden zwischen den Einbettungen durch eine Metrik Ähnlichkeitswerte berechnet, mit deren Hilfe Aussagen über die Existenz einer Rückverfolgbarkeitsverbindung zwischen ihren repräsentierten Artefakten getroffen werden können. In der Evaluation wurden die verschiedenen Möglichkeiten für die Einbettung und Abbildung untereinander und mit anderen Arbeiten verglichen. Bezüglich des F1-Wertes erzeugen Quelltexteinbettungen mit Klassennamen, Methodensignaturen und -kommentaren sowie Abbildungsverfahren, die die Word Mover’s Distance als Ähnlichkeitsmetrik nutzen, die besten projektübergreifenden Ergebnisse. Das beste Verfahren erreicht auf dem Projekt LibEST, welches aus 14 Quelltext- und 52 Anforderungsartefakten besteht, einen F1-Wert von 60,1%. Die beste projektübergreifende Konfiguration erzielt einen durchschnittlichen F1-Wert von 39%.  +
Durch den Umstieg auf erneuerbare Energien und die damit einhergehende Dezentralisierung sowie die immer weiter fortschreitende Digitalisierung des Stromnetzes ergeben sich neue Herausforderungen für den Betrieb eines Stromnetzes. Eine dieser Herausforderungen sind die deutlich erweiterten Angriffsmöglichkeiten, die sich durch den verstärkten Einsatz von Intelligenten Stromzählern und Geräten des Internet der Dinge und deren maßgeblichem Beitrag zur Stromverteilung ergeben. Um diese Angriffsmöglichkeiten in Analysen abbilden zu können, wird in dieser Bachelorarbeit eine Erweiterung der bestehenden Analyse von Angriffen auf Intelligente Stromnetze aus dem Smart Grid Resilience Framework vorgenommen. Zu diesem Zweck erfolgt eine Transformation des bestehenden Modells in eine Netzwerktopologie, auf welcher dann eine Angreiferanalyse ausgeführt wird. Die Evaluation dieser Angreiferanalyse erfolgt dabei anhand der bereits bestehenden Angreiferanalyse des Smart Grid Resilience Frameworks. Weiterhin wird die Genauigkeit der Transformation sowie die Skalierbarkeit von Transformation und Angreiferanalyse evaluiert.  +
Modern applications typically need to find solutions to complex problems under limited time and resources. In settings, in which the exact computation of indicators can either be infeasible or economically undesirable, the use of “anytime” algorithms, which can return approximate results when interrupted, is particularly beneficial, since they offer a natural way to trade computational power for result accuracy. However, modern systems typically need to solve multiple problems simultaneously. E.g. in order to find high correlations in a dataset, one needs to examine each pair of variables. This is challenging, in particular if the number of variables is large and the data evolves dynamically. This thesis focuses on the following question: How should one distribute resources at anytime, in order to maximize the overall quality of multiple targets? First, we define the problem, considering various notions of quality and user requirements. Second, we propose a set of strategies to tackle this problem. Finally, we evaluate our strategies via extensive experiments.  +
In this work, we consider ngram corpora, i.e., a set of word chains of different lengths and its usage frequency in natural language. For example, the 3-gram "bag of words" may be used 200 times. Obviously, there exists a dependence between the usage frequency of (1) the unigrams "bag", "of", and "words", (2) the bigrams "bag of" and "of words", and (3) the trigram "bag of words". This connection is partially used in language models to implement grammar correction or speech recognition. From a database point of view, the ngram corpus contains either redundant information or information that can be well estimated. This is an indication that we can achieve a high reduction of the corpus size while still providing its information with high accuracy. In this work, we research the connection between n- and (n+1)-grams and vice versa. Our objective is to store only a part of the full ngram corpus and estimate the rest of the corpus.  +
In industrial processes (Industry 4.0) and other fields in our lives like the energy or health sector, the confidentiality of data becomes increasingly important. For the protection of confidential information on critical systems, it is crucial to be able to find relevant attack paths in different access-control contexts to a critical element. In order to minimize costs, it is important to already consider this issue in the design phase of the software architecture. There are already approaches considering the topic of attack path generation. However, they do not consider software architecture modeling or they do not consider both vulnerabilities and access control mechanisms. Hence, this thesis presents an approach for finding all potential attack paths in a software architecture model considering access control and vulnerabilities. However, all attack paths are often to many, so the approach presented here introduces and utilizes meaningful filter criteria based on wide-spread vulnerability classification standards.  +
In this thesis, we present our approach to handle uncertainty in access control during design time. We propose the concept of trust as a composition of environmental factors that impact the validity of and consequently trust in access control properties. We use fuzzy inference systems as a way of defining how environmental factors are combined. These trust values are than used by an analysis process to identify issues which can result from a lack of trust. We extend an existing data flow diagram approach with our concept of trust. Our approach of adding knowledge to a software architecture model and providing a way to analyze model instances for access control violations shall enable software architects to increase the quality of models and further verify access control requirements under uncertainty. We evaluate the applicability based on the availability, the accuracy and the scalability regarding the execution time.  +
Distributed message-based microservice systems architecture has seen considerable evolution in recent years, making them easier to extend, reuse and manage. But, the challenge lies in the fact that such software systems are constituted of components that are more and more autonomous, distributed, and are deployed with different technologies. On the one hand such systems through their flexible architecture provide a lot of advantages. On the other hand, they are more likely to be changed fast and thus make their architecture less reliable and up-to-date. Architecture reconstruction method can support to obtain the updated architecture at different phases of development life cycle for software systems. However, the existing architecture reconstruction methods do not support the extraction for message-based microservice systems. In our work we try to handle this problem by extending an existing approach of architecture model extraction of message-based microservice systems from their tracing data (source code instrumented) in a way that such systems can be supported. Through our approach, we provide a way to automatically extract performance models for message-based microservice systems through dynamic analysis. We then evaluate our approach with the comparison of extracted model with the manual model with statistical metrics such as precision, recall and F1-score in order to find out the accuracy of our extracted model.  +
In times of highly interconnected systems, confidentiality becomes a crucial security quality attribute. As fixing confidentiality breaches becomes costly the later they are found, software architects should address confidentiality early in the design time. During the architectural design process, software architects take Architectural Design Decisions (ADDs) to handle the degrees of freedom, i.e. uncertainty. However, ADDs are often subjected to assumptions and unknown or imprecise information. Assumptions may turn out to be wrong so they have to be revised which re-introduces uncertainty. Thus, the presence of uncertainty at design time prevents from drawing precise conclusions about the confidentiality of the system. It is, therefore, necessary to assess the impact of uncertainties at the architectural level before making a statement about confidentiality. To address this, we make the following contributions: First, we propose a novel uncertainty categorization approach to assess the impact of uncertainties in software architectures. Based on that, we provide an uncertainty template that enables software architects to structurally derive types of uncertainties and their impact on architectural element types for a domain of interest. Second, we provide an Uncertainty Impact Analysis (UIA) that enables software architects to specify which architectural elements are directly affected by uncertainties. Based on structural propagation rules, the tool automatically derives further architectural elements which are potentially affected. Using the large-scale open-source contract tracing application called Corona Warn App (CWA) as a case study, we show that the UIA achieves 100% recall while maintaining 44%-91% precision when analyzing the impact of uncertainties on architectural elements.  +
Im Rahmen der Masterarbeit „Architektur-basierte Wartbarkeitsvorhersage von Metamodellen mittels Evolutionsszenarien“ wurden Metamodelle für die Modellierung von Metamodell-Architekturen sowie Evolutionsszenarien, die Änderungen auf Metamodell-Architekturen beschreiben, entworfen. Das Metamodell für Metamodell-Architekturen ermöglicht die Modellierung von komplexen Metamodellen auf einer abstrakteren Ebene analog zur Software-Architektur. Für beide Metamodelle wurden Editoren für die Modellierung entwickelt. Zusätzlich wurde ein Werkzeug zur Vorhersage der Wartbarkeit, basierend auf einem Evolutionsszenario, entwickelt. Die entwickelten Werkzeuge wurden anschließend auf ihre Benutzbarkeit über eine Benutzerstudie sowie auf Funktionalität über Fallstudien analysiert.  +
To deploy an ML model in practice, a stakeholder needs to understand the behaviour and implications of this model. To help stakeholders develop this understanding, researchers propose a variety of technical approaches, so called eXplainable Artificial Intelligence (XAI). Current XAI approaches follow very task- or model-specific objectives. There is currently no consensus on a generic method to evaluate most of these technical solutions. This complicates comparing different XAI approaches and choosing an appropriate solution in practice. To address this problem, we formally define two generic experiments to measure human understanding of ML models. From these definitions we derive two technical strategies to improve understanding, namely (1) training a surrogate model and (2) translating inputs and outputs to effectively perceivable features. We think that most existing XAI approaches only focus on the first strategy. Moreover, we show that established methods to train ML models can also help stakeholders to better understand ML models. In particular, they help to mitigate cognitive biases. In a case study, we demonstrate that our experiments are practically feasible and useful. We suggest that future research on XAI should use our experiments as a template to design and evaluate technical solutions that actually improve human understanding.  +
In Multi-Agenten Systemen (MAS) arbeiten verschiedene Agenten an einem gemeinsamen Problem. Auch im Bereich der natürlichen Sprachverarbeitung (NLP) werden solche Systeme verwendet. Agenten eines MAS für natürliche Sprache können neben Ergebnissen auch Ergebnisse mit Konfidenzen, s.g. Hypothesen generieren. Diese Hypothesen spiegeln die Mehrdeutigkeit der natürlichen Sprache wider. Sind Agenten abhängig voneinander, so kann eine falsche Hypothese schnell zu einer Fehlerfortpflanzung in die Hypothesen der abhängigen Agenten führen. Die Exploration von Hypothesen bietet die Chance, die Ergebnisse von Agenten zu verbessern. Diese Arbeit verbessert die Ergebnisse von Agenten eines MAS für NLP durch eine kontrollierte Exploration des Hypothesen-Suchraums. Hierfür wird ein Framework zur Exploration und Bewertung von Hypothesen entwickelt. In einer Evaluation mit drei Agenten konnten vielversprechende Ergebnisse hinsichtlich der Verbesserung erzielt werden. So konnte etwa mit der Top-X Exploration eine durchschnittliche Verbesserung des F1-Maßes des Topic-Detection-Agenten von ursprünglich 40% auf jetzt 49% erreicht werden.  +
The software development process usually involves different artifacts that each describe different parts of the whole software system. Traceability Link Recovery is a technique that aids the development process by establishing relationships between related parts from different artifacts. Artifacts that are expressed in natural language are more difficult for machines to understand and therefore pose a challenge to this link recovery process. A common approach to link elements from different artifacts is to identify similar words using word similarity measures. ArDoCo is a tool that uses word similarity measures to recover trace links between natural language software architecture documentation and formal architectural models. This thesis assesses the effect of different word similarity measures on ArDoCo. The measures are evaluated using multiple case studies. Precision, recall, and encountered challenges for the different measures are reported as part of the evaluation.  +
Log analysis serves as a crucial preprocessing step in text log data analysis, including anomaly detection in cloud system monitoring. However, selecting an optimal log parsing algorithm tailored to a specific task remains problematic. With many algorithms to choose from, each requiring proper parameterization, making an informed decision becomes difficult. Moreover, the selected algorithm is typically applied uniformly across the entire dataset, regardless of the specific data analysis task, often leading to suboptimal results. In this thesis, we evaluate a novel attention-based method for automating the selection of log parsing algorithms, aiming to improve data analysis outcomes. We build on the success of a recent Master Thesis, which introduced this attention-based method and demonstrated its promising results for a specific log parsing algorithm and dataset. The primary objective of our work is to evaluate the effectiveness of this approach across different algorithms and datasets.  +
Die Entwicklung professioneller Software ist aus verschiedenen Gründen eine höchst komplexe Aufgabe: Menschen unterschiedlicher Blickwinkel sind daran beteiligt, die Software zu spezifizieren, zu implementieren, zu testen und zu installieren. Dazu arbeiten diese Teams häufig regional oder zeitlich verteilt. Dies macht Maßnahmen zur Softwarequalität zu einem notwendigen Bestandteil von Softwareentwicklungsprozessen. In dieser Bachelor-Arbeit wurden Werkzeuge und wissenschaftliche Arbeiten zur fortlaufenden Integration untersucht und eine Werkzeugkette aufgebaut, die dieses Prinzip umsetzt. Sie automatisiert neben der Softwareerstellung auch die Testausführung, die Bereitstellung und die Performanzmessung auf verschiedenen Zielsystemen und führt alle Zwischenergebnisse an einer Stelle zusammen. In Zusammenarbeit mit Agilent Technologies wurde eine Benutzerstudie durchgeführt, die aufzeigt, dass die Werkzeugkette eine Funktionalitäts- bzw. Leistungsaussage zu Quellcodeänderungen innerhalb weniger Minuten nach dem Einchecken ermöglicht, was sonst typischerweise Tage bis Wochen benötigt.  +
Ein Problem bei der Anforderungsrückverfolgung ist, dass eine syntaktische Verbindung zwischen Begriffen in Anforderungen und Quelltext oftmals fehlt. Eine Möglichkeit Verknüpfungen dennoch korrekt herzustellen ist die Einbeziehung von Hintergrundwissen, um ein explizites Verständnis der verwendeten Begriffe zu erlangen. Eine in der Computerlinguistik bekannte Quelle für solches Hintergrundwissen über semantische Zusammenhänge ist WordNet. Um jedoch besonders für technische Begriffe eine möglichst vollständige Abdeckung zu erreichen, reicht WordNet alleine als Wissensquelle nicht aus. In dieser Arbeit wird daher ein Ansatz entwickelt, um eine konsolidierte Konzepthierarchie aus mehreren beliebigen Wissensquellen aufzubauen.  +
Bandit algorithms are a family of algorithms that efficiently solve sequential decision problems, like monitoring in a cloud computing system, news recommendations or clinical trials. In such problems there is a trade of between exploring new options and exploiting presumably good ones and bandit algorithms provide theoretical guarantees while being practical. While some approaches use additional information about the current state of the environment, bandit algorithms tend to ignore domain knowledge that can’t be extracted from data. It is not clear how to incorporate domain knowledge into bandit algorithms and how much improvement this yields. In this masters thesis we propose two ways to augment bandit algorithms with domain knowledge: a push approach, which influences the distribution of arms to deal with non-stationarity as well as a group approach, which propagates feedback between similar arms. We conduct synthetic and real world experiments to examine the usefulness of our approaches. Additionally we evaluate the effect of incomplete and incorrect domain knowledge. We show that the group approach helps to reduce exploration time, especially for small number of iterations and plays, and that the push approach outperforms contextual and non-contextual baselines for large context spaces.  +
In der Mathematik gibt es unzählige ungelöste Probleme, welche die Wissenschaft beschäftigen. Dabei stellen sie eine wichtige Aufgabe und Herausforderung dar. Und es wird stetig versucht ihrer Lösung Schritt für Schritt näher zu kommen. Unter diesen bisher noch ungelösten Problemen der Mathematik ist auch das sogenannte „Frankl-Conjecture“ (ebenfalls bekannt unter dem Namen „Union-Closed Set Conjecture“). Diese Vermutung besagt, dass für jede, unter Vereinigung abgeschlossene Familie von Mengen, ein Element existiert, welches in mindestens der Hälfte der Familien-Mengen enthalten ist. Auch diese Arbeit hat das Ziel der Lösung dieses Problems Schritt für Schritt näher zu kommen, oder zumindest hilfreiche neue Werkzeuge für eine spätere Lösung bereitzustellen. Dafür wurde versucht eine Bearbeitung mit Hilfe von Data-Science-Methoden durchzuführen. Dies geschah, indem zunächst möglichst viele Beispiele für das Conjecture zufällig generiert wurden. Anschließend konnten diese generierten Beispiele betrachtet und weiter analysiert werden.  +
Das schnelle und effiziente Lösen von SAT-Instanzen ist für viele Bereiche relevant, zum Beispiel Kryptografie, Scheduling-Algorithmen oder formale Verifikation von Algorithmen. Um die Geschwindigkeit von SAT-Solvern zu evaluieren, gibt es die SAT Competition, in der verschiedene Solver gegeneinander antreten, um Hunderte von SAT-Instanzen zu lösen. Da dies viel Zeit beansprucht, möchten wir eine Methode vorschlagen, die die Anzahl der Instanzen verringert. Indem wir die Instanzen nach Eigenschaften und Laufzeiten clustern, möchten wir eine Benchmark erstellen, die deutlich weniger Instanzen beinhaltet, aber wenig Informationsverlust bietet. Diese evaluieren wir am Ende mithilfe einer „Benchmark“ Competition, wo wir vergleichen, ob die Sieger der SAT Competition auch die „Benchmark“ Competition gewinnen. Zusätzlich möchten wir in dieser Bachelorarbeit auch herausfinden, welche Instanzeigenschaften eine besondere Rolle beim Clustering spielen und ob ein Clustering von Solvern relevant ist.  +
Das schnelle und effiziente Lösen von SAT-Instanzen ist für viele Bereiche relevant, zum Beispiel Kryptografie, Scheduling oder formale Verifikationen. Um die Geschwindigkeit von SAT-Solvern zu evaluieren, gibt es SAT-Instanzenmengen, die die Solver lösen müssen. Diese Instanzenmengen (Benchmarks) bestehen aus Hunderten von unterschiedlichen Instanzen. Um ein repräsentatives Ergebnis zu erhalten, muss eine Benchmark viele unterschiedliche Instanzen haben, da unterschiedliche Solver auf unterschiedlichen Instanzen gut sind. Wir gehen aber davon aus, dass wir Benchmarks erstellen können, die kleiner als die aktuellen Benchmarks sind, die immer noch repräsentative Ergebnisse liefern. In unserer Arbeit stellen wir einen Ansatz vor, der aus einer gegebenen repräsentativen Benchmark eine kleinere Teilmenge wählt, die als repräsentative Benchmark dienen soll. Wir definieren dabei, dass eine Benchmark repräsentativ ist, wenn der Graph der Laufzeiten ein festgelegtes Ähnlichkeitsmaß gegenüber der ursprünglichen Benchmark überschreitet. Wir haben hierbei einen BeamSearch-Algorithmus erforscht. Am Ende stellen wir allerdings fest, dass eine zufällige Auswahl besser ist und eine zufällige Auswahl von 10 % der Instanzen ausreicht, um eine repräsentative Benchmark zu liefern.  +
Metamodelle sind das zentrale Artefakt bei der modellgetriebenen Softwareentwicklung. Obwohl viele Qualitätsattribute und Evaluierungsmechanismen für Metamodelle bekannt sind, ist es noch nicht empirisch untersucht, welche Auswirkungen Metamodelle auf andere Artefakten haben. Die gegenwärtige Ausarbeitung beschäftigt sich mit der Auswirkung von Metamodellen auf andere Artefakte der Softwareentwicklung. Genauer wird untersucht, inwieweit die Qualitätsattribute von Metamodellen die Modellanalysen und die Modelltransformationen beeinflussen. Zu diesem Zweck werden verschiedene Artefakte analysiert – die Ergebnisse aus Metamodell-Metriken, Code-Metriken von Modellanalysen und ATL-Transformationen, sowie manuellen Bewertungen von Metamodellen. Die Daten werden analysiert, Korrelationen werden bestimmt und Abhängigkeiten werden aufgedeckt.  +
Die Softwarearchitekturdokumentation (SAD) ist ein integrales Artefakt eines Softwareprojektes. Um die Qualität von SADs zu verbessern und nachgelagerte Aufgaben zu unterstützen, ist eine automatische Klassifizierung dieser Entwurfsentscheidungen erstrebenswert. In dieser Arbeit implementieren und evaluieren wir einen Ansatz zur automatischen Identifikation und Klassifizierung von Entwurfsentscheidungen auf der Grundlage einer feingranularen Taxonomie, bei der wir eine hierarchische Klassifikationsstrategie mit dem Einsatz von Transfer-Lernen durch vortrainierter Sprachmodelle kombinieren. Der Beitrag dieser Arbeit besteht darin, den Vorteil einer hierarchischen Klassifikationsstrategie für die automatische Klassifikation von Entwurfsentscheidungen gegenüber einem nicht-hierarchischen Ansatz zu untersuchen. Außerdem untersuchen und vergleichen wir die Effektivität verschiedener vortrainierter Sprachmodelle.  +