Attribut:Kurzfassung

Aus SDQ-Institutsseminar

Dies ist ein Attribut des Datentyps Text.

Unterhalb werden 20 Seiten angezeigt, auf denen für dieses Attribut ein Datenwert gespeichert wurde.
A
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.  +