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
The software development process usually involves different artifacts that each describe different parts of the whole software system. Traceability Link Recovery is a technique that aids the development process by establishing relationships between related parts from different artifacts. Artifacts that are expressed in natural language are more difficult for machines to understand and therefore pose a challenge to this link recovery process. A common approach to link elements from different artifacts is to identify similar words using word similarity measures. ArDoCo is a tool that uses word similarity measures to recover trace links between natural language software architecture documentation and formal architectural models. This thesis assesses the effect of different word similarity measures on ArDoCo. The measures are evaluated using multiple case studies. Precision, recall, and encountered challenges for the different measures are reported as part of the evaluation.  +
Log analysis serves as a crucial preprocessing step in text log data analysis, including anomaly detection in cloud system monitoring. However, selecting an optimal log parsing algorithm tailored to a specific task remains problematic. With many algorithms to choose from, each requiring proper parameterization, making an informed decision becomes difficult. Moreover, the selected algorithm is typically applied uniformly across the entire dataset, regardless of the specific data analysis task, often leading to suboptimal results. In this thesis, we evaluate a novel attention-based method for automating the selection of log parsing algorithms, aiming to improve data analysis outcomes. We build on the success of a recent Master Thesis, which introduced this attention-based method and demonstrated its promising results for a specific log parsing algorithm and dataset. The primary objective of our work is to evaluate the effectiveness of this approach across different algorithms and datasets.  +
Die Entwicklung professioneller Software ist aus verschiedenen Gründen eine höchst komplexe Aufgabe: Menschen unterschiedlicher Blickwinkel sind daran beteiligt, die Software zu spezifizieren, zu implementieren, zu testen und zu installieren. Dazu arbeiten diese Teams häufig regional oder zeitlich verteilt. Dies macht Maßnahmen zur Softwarequalität zu einem notwendigen Bestandteil von Softwareentwicklungsprozessen. In dieser Bachelor-Arbeit wurden Werkzeuge und wissenschaftliche Arbeiten zur fortlaufenden Integration untersucht und eine Werkzeugkette aufgebaut, die dieses Prinzip umsetzt. Sie automatisiert neben der Softwareerstellung auch die Testausführung, die Bereitstellung und die Performanzmessung auf verschiedenen Zielsystemen und führt alle Zwischenergebnisse an einer Stelle zusammen. In Zusammenarbeit mit Agilent Technologies wurde eine Benutzerstudie durchgeführt, die aufzeigt, dass die Werkzeugkette eine Funktionalitäts- bzw. Leistungsaussage zu Quellcodeänderungen innerhalb weniger Minuten nach dem Einchecken ermöglicht, was sonst typischerweise Tage bis Wochen benötigt.  +
Ein Problem bei der Anforderungsrückverfolgung ist, dass eine syntaktische Verbindung zwischen Begriffen in Anforderungen und Quelltext oftmals fehlt. Eine Möglichkeit Verknüpfungen dennoch korrekt herzustellen ist die Einbeziehung von Hintergrundwissen, um ein explizites Verständnis der verwendeten Begriffe zu erlangen. Eine in der Computerlinguistik bekannte Quelle für solches Hintergrundwissen über semantische Zusammenhänge ist WordNet. Um jedoch besonders für technische Begriffe eine möglichst vollständige Abdeckung zu erreichen, reicht WordNet alleine als Wissensquelle nicht aus. In dieser Arbeit wird daher ein Ansatz entwickelt, um eine konsolidierte Konzepthierarchie aus mehreren beliebigen Wissensquellen aufzubauen.  +
Bandit algorithms are a family of algorithms that efficiently solve sequential decision problems, like monitoring in a cloud computing system, news recommendations or clinical trials. In such problems there is a trade of between exploring new options and exploiting presumably good ones and bandit algorithms provide theoretical guarantees while being practical. While some approaches use additional information about the current state of the environment, bandit algorithms tend to ignore domain knowledge that can’t be extracted from data. It is not clear how to incorporate domain knowledge into bandit algorithms and how much improvement this yields. In this masters thesis we propose two ways to augment bandit algorithms with domain knowledge: a push approach, which influences the distribution of arms to deal with non-stationarity as well as a group approach, which propagates feedback between similar arms. We conduct synthetic and real world experiments to examine the usefulness of our approaches. Additionally we evaluate the effect of incomplete and incorrect domain knowledge. We show that the group approach helps to reduce exploration time, especially for small number of iterations and plays, and that the push approach outperforms contextual and non-contextual baselines for large context spaces.  +
In der Mathematik gibt es unzählige ungelöste Probleme, welche die Wissenschaft beschäftigen. Dabei stellen sie eine wichtige Aufgabe und Herausforderung dar. Und es wird stetig versucht ihrer Lösung Schritt für Schritt näher zu kommen. Unter diesen bisher noch ungelösten Problemen der Mathematik ist auch das sogenannte „Frankl-Conjecture“ (ebenfalls bekannt unter dem Namen „Union-Closed Set Conjecture“). Diese Vermutung besagt, dass für jede, unter Vereinigung abgeschlossene Familie von Mengen, ein Element existiert, welches in mindestens der Hälfte der Familien-Mengen enthalten ist. Auch diese Arbeit hat das Ziel der Lösung dieses Problems Schritt für Schritt näher zu kommen, oder zumindest hilfreiche neue Werkzeuge für eine spätere Lösung bereitzustellen. Dafür wurde versucht eine Bearbeitung mit Hilfe von Data-Science-Methoden durchzuführen. Dies geschah, indem zunächst möglichst viele Beispiele für das Conjecture zufällig generiert wurden. Anschließend konnten diese generierten Beispiele betrachtet und weiter analysiert werden.  +
Das schnelle und effiziente Lösen von SAT-Instanzen ist für viele Bereiche relevant, zum Beispiel Kryptografie, Scheduling-Algorithmen oder formale Verifikation von Algorithmen. Um die Geschwindigkeit von SAT-Solvern zu evaluieren, gibt es die SAT Competition, in der verschiedene Solver gegeneinander antreten, um Hunderte von SAT-Instanzen zu lösen. Da dies viel Zeit beansprucht, möchten wir eine Methode vorschlagen, die die Anzahl der Instanzen verringert. Indem wir die Instanzen nach Eigenschaften und Laufzeiten clustern, möchten wir eine Benchmark erstellen, die deutlich weniger Instanzen beinhaltet, aber wenig Informationsverlust bietet. Diese evaluieren wir am Ende mithilfe einer „Benchmark“ Competition, wo wir vergleichen, ob die Sieger der SAT Competition auch die „Benchmark“ Competition gewinnen. Zusätzlich möchten wir in dieser Bachelorarbeit auch herausfinden, welche Instanzeigenschaften eine besondere Rolle beim Clustering spielen und ob ein Clustering von Solvern relevant ist.  +
Das schnelle und effiziente Lösen von SAT-Instanzen ist für viele Bereiche relevant, zum Beispiel Kryptografie, Scheduling oder formale Verifikationen. Um die Geschwindigkeit von SAT-Solvern zu evaluieren, gibt es SAT-Instanzenmengen, die die Solver lösen müssen. Diese Instanzenmengen (Benchmarks) bestehen aus Hunderten von unterschiedlichen Instanzen. Um ein repräsentatives Ergebnis zu erhalten, muss eine Benchmark viele unterschiedliche Instanzen haben, da unterschiedliche Solver auf unterschiedlichen Instanzen gut sind. Wir gehen aber davon aus, dass wir Benchmarks erstellen können, die kleiner als die aktuellen Benchmarks sind, die immer noch repräsentative Ergebnisse liefern. In unserer Arbeit stellen wir einen Ansatz vor, der aus einer gegebenen repräsentativen Benchmark eine kleinere Teilmenge wählt, die als repräsentative Benchmark dienen soll. Wir definieren dabei, dass eine Benchmark repräsentativ ist, wenn der Graph der Laufzeiten ein festgelegtes Ähnlichkeitsmaß gegenüber der ursprünglichen Benchmark überschreitet. Wir haben hierbei einen BeamSearch-Algorithmus erforscht. Am Ende stellen wir allerdings fest, dass eine zufällige Auswahl besser ist und eine zufällige Auswahl von 10 % der Instanzen ausreicht, um eine repräsentative Benchmark zu liefern.  +
Metamodelle sind das zentrale Artefakt bei der modellgetriebenen Softwareentwicklung. Obwohl viele Qualitätsattribute und Evaluierungsmechanismen für Metamodelle bekannt sind, ist es noch nicht empirisch untersucht, welche Auswirkungen Metamodelle auf andere Artefakten haben. Die gegenwärtige Ausarbeitung beschäftigt sich mit der Auswirkung von Metamodellen auf andere Artefakte der Softwareentwicklung. Genauer wird untersucht, inwieweit die Qualitätsattribute von Metamodellen die Modellanalysen und die Modelltransformationen beeinflussen. Zu diesem Zweck werden verschiedene Artefakte analysiert – die Ergebnisse aus Metamodell-Metriken, Code-Metriken von Modellanalysen und ATL-Transformationen, sowie manuellen Bewertungen von Metamodellen. Die Daten werden analysiert, Korrelationen werden bestimmt und Abhängigkeiten werden aufgedeckt.  +
Die Softwarearchitekturdokumentation (SAD) ist ein integrales Artefakt eines Softwareprojektes. Um die Qualität von SADs zu verbessern und nachgelagerte Aufgaben zu unterstützen, ist eine automatische Klassifizierung dieser Entwurfsentscheidungen erstrebenswert. In dieser Arbeit implementieren und evaluieren wir einen Ansatz zur automatischen Identifikation und Klassifizierung von Entwurfsentscheidungen auf der Grundlage einer feingranularen Taxonomie, bei der wir eine hierarchische Klassifikationsstrategie mit dem Einsatz von Transfer-Lernen durch vortrainierter Sprachmodelle kombinieren. Der Beitrag dieser Arbeit besteht darin, den Vorteil einer hierarchischen Klassifikationsstrategie für die automatische Klassifikation von Entwurfsentscheidungen gegenüber einem nicht-hierarchischen Ansatz zu untersuchen. Außerdem untersuchen und vergleichen wir die Effektivität verschiedener vortrainierter Sprachmodelle.  +
With existing search strategies, specific paper contents can only be searched indirectly. Keywords are used to describe the searched content as accurately as possible but many of the results are not related to what was searched for. A classification of these contents, if automated, could extend the search process and thereby allow to specify the searched content directly and enhance current state of scholarly communication. In this thesis, we investigated the automatic classification of scientific papers in the Software Engineering domain. In doing so, a classification scheme of paper contents with regard to Research Object, Statement, and Evidence was consolidated. We then investigate in a comparative analysis the machine learning algorithms Naïve Bayes, Support Vector Machine, Multi-Layer Perceptron, Logistic Regression, Decision Tree, and BERT applied to the classification task.  +
In 2018 wird die neue EU Datenschutzverordnung in Kraft treten. Diese Verordnung beinhaltet empfindliche Strafen für Datenschutzverletzungen. Einer der wichtigsten Faktoren für die Einhaltung der Datenschutzverordnung ist die Verarbeitung von Stammdaten von EU-Bürgern innerhalb der EU. Wir haben für diese Regelung eine Privacy Analyse entwickelt, formalisiert, implementiert und evaluiert. Außerdem haben wir mit iObserve Privacy ein System nach dem MAPE Prinzip entwickelt, dass automatisch Datenschutzverletzungen erkennt und eine alternatives, datenschutzkonformes Systemhosting errechnet. Zudem migriert iObserve Privacy die Cloudanwendung entsprechend dem alternativen Hosting automatisch.  +
Data breaches exposing personal information mean a significant loss of customer trust and leave companies vulnerable to civil lawsuits. This makes identifying problems in early development phases an important part of keeping software development costs predictable and manageable. In this thesis, we present approaches that allow system architects to extract legal specifications from artifacts created during system design and analyze them for GDPR compliance. We provide a model transformation between a DFD representation and a GDPR metamodel, which aims to model some of the complex requirements of the GDPR. The transformations work in both directions while keeping additional information to allow the architect to make changes to the system on either the architectural or legal side of the transformation. We provide an analysis tool that is able to identify GDPR violations on the GDPR metamodel, allowing analysis on both sides of the transformation.  +
Mobile devices are strongly resource-constrained in terms of computing and battery capacity. Cyber-foraging systems circumvent these constraints by offloading a task to a more powerful system in close proximity. Offloading itself induces additional workload and thus additional power consumption on the mobile device. Therefore, offloading systems must decide whether to offload or to execute locally. Power models, which estimate the power consumption for a given workload can be helpful to make an informed decision. Recent research has shown that various hardware components such as wireless network interface cards (WNIC), cellular network interface cards or GPS modules have power states, that is, the power consumption behavior of a hardware component depends on the current state. Power models that consider power states (stateful power models) can be modeled as Power State Machines (PSM). For systems with multiple power states, stateful models proved to be more accurate than models that do not consider power states (stateless models). Manually generating PSMs is time-consuming and limits the practicability of PSMs. Therefore, in this thesis, we explore the possibility of automatically generating PSMs. The contribution of this thesis is twofold: (1) We introduce an automated measurementbased profiling approach (2) and we introduce a step-based approach, which, provided with profiling data, automatically extracts PSMs along with tail states and state transitions. We evaluate the automated PSM extraction in a case study on an offloading speech recognition system. We compare the power consumption prediction accuracy of the generated PSM with the prediction accuracy of a stateless regression based model. Because we measure the power consumption of the whole system, we use along with all WiFi power models the same CPU power model in order to predict the power consumption of the whole system. We find that a slightly adapted version of the generated PSM predicts the power consumption with a mean error of approx. 3% and an error of approx. 2% in the best case. In contrast, the regression model produces a mean error of approx. 19% and an error of approx. 18% in the best case.  
In der vorgestellten Arbeit wird das Potential von Large Language Models (LLMs) für die Automatisierung von GUI-Tests in Webanwendungen untersucht, eine Methode, die gegenüber dem traditionellen Ansatz des Monkey-Testing einige Vorteile bietet. Vier leistungsfähige LLMs, nämlich WizardLM, Vicuna (beide basierend auf LLAMA), GPT-3.5-Turbo und GPT-4-Turbo, werden hinsichtlich ihrer Fähigkeit, umfangreiche und relevante Teile des Codes durch Interaktion mit der Benutzeroberfläche auszuführen, evaluiert. Die Evaluation umfasst Tests an einer einfachen, für diese Studie entwickelten Proof-of-Concept-Anwendung sowie an PHPLiteAdmin, einem komplexeren Open-Source-Datenbank-Management-Tool. Die Ergebnisse zeigen, dass insbesondere die GPT-basierten Modelle in bestimmten Szenarien eine höhere Effizienz als der traditionelle Monkey-Tester aufweisen, vor allem bei der Generierung von sinnvollen Texteingaben. Dies unterstreicht das Innovationspotential von LLMs im Bereich der Software-Tests, zeigt aber auch die Herausforderungen und Grenzen auf, die bei der Anwendung auf komplexere Systeme zu erwarten sind. Diese Arbeit leistet somit einen wichtigen Beitrag zur Diskussion über die Weiterentwicklung und Optimierung automatisierter Testverfahren in der Softwareentwicklung.  +
The development of the transformation model also comes with the appropriate system-level testing to verify its changes. Due to the complex nature of the transformation model, the number of tests increases as the structure and feature description become more detailed. However, executing all test cases for every change is costly and time-consuming. Thus, it is necessary to conduct a selection for the transformation tests. In this presentation, you will be introduced to a change-based test prioritization and transformation test selection approach for early fault detection.  +
In systems with a very dynamic process like Industry 4.0, contexts of all participating entities often change and a lot of data exchange happens with external organizations such as suppliers or producers which brings concern about unauthorized data access. This creates the need for access control systems to be able to handle such a combination of a highly dynamic system and the arising concern about the security of data. In many situations the decision for access control depends on the context information of the requester. Another problem of dynamic system is that the manual development of access policies can be time consuming and expensive. Approaches using automated policy generation have shown to reduce this effort. In this master thesis we introduce a concept which combines context based model-driven security with automated policy generation and evaluate if it is a suitable option for the creation of access control systems and if it can reduce the effort in policy generation. The approach makes use of usage and misusage diagrams which are on a high architectural abstraction level to derive and combine access policies for data elements which are located on a lower abstraction level.  +
One of the most important aspects of software engineering is system performance. Common approaches to verify acceptable performance include running load tests on deployed software. However, complicated workflows and requirements like the necessity of deployments and extensive manual analysis of load test results cause tests to be performed very late in the development process, making feedback on potential performance regressions available much later after they were introduced. With this thesis, we propose PeReDeS, an approach that integrates into the development cycle of modern software projects, and explicitly models an automated performance regression detection system that provides feedback quickly and reduces manual effort for setup and load test analysis. PeReDeS is embedded into pipelines for continuous integration, manages the load test execution and lifecycle, processes load test results and makes feedback available to the authoring developer via reports on the coding platform. We further propose a method for detecting deviations in performance on load test results, based on Welch's t-test. The method is adapted to suit the context of performance regression detection, and is integrated into the PeReDeS detection pipeline. We further implemented our approach and evaluated it with an user study and a data-driven study to evaluate the usability and accuracy of our method.  +
GitHub ist eine der beliebtesten Plattformen für kollaboratives Entwickeln von Software-Projekten und ist eine wertvolle Ressource für Software-Entwickler. Die große Anzahl von Projekten, welche auf diesem Dienst zu finden sind, erschwert allerdings die Suche nach relevanten Projekten. Um die Auffindbarkeit von Projekten auf GitHub zu verbessern, wäre es nützlich, wenn diese in Kategorien klassifiziert wären. Diese Informationen könnten in einer Suchmaschine oder einem Empfehlungssystem verwendet werden. Manuelle Klassifikation aller Projekte ist allerdings wegen der großen Anzahl von Projekten nicht praktikabel. Daher ist ein automatisches Klassifikationssystem wünschenswert. Diese Arbeit befasst sich mit der Problematik, ein automatisches Klassifikationssystem für GitHub-Projekte zu entwickeln. Bei der vorgestellten Lösung werden GitHub-Topics verwendet, welches manuelle Klassifikation von GitHub-Projekten sind, welche von den Eigentümern der Projekte vorgenommen wurden. Diese klassifizierten Projekte werden als Trainingsdaten für ein überwachtes Klassifikationssystem verwendet. Somit entfällt die Notwendigkeit, manuell Trainingsdaten zu erstellen. Dies ermöglicht die Klassifikation mit flexiblen Klassenhierarchien. Im Kontext dieser Arbeit wurde ein Software-Projekt entwickelt, welches die Möglichkeit bietet, Trainingsdaten mithilfe der GitHub-API basierend auf GitHub-Topics zu generieren und anschließend mit diesen ein Klassifikationssystem zu trainieren. Durch einen modularen Ansatz können für den Zweck der Klassifikation eine Vielzahl von Vektorisierungs- und Vorhersagemethoden zum Einsatz kommen. Neue Implementierungen solcher Verfahren können ebenfalls leicht eingebunden werden. Das Projekt bietet zudem Schnittstellen für externe Programme, welche es ermöglicht, einen bereits trainierten Klassifikator für weiterführende Zwecke zu verwenden. Die Klassifikationsleistung des untersuchten Ansatzes bietet für Klassenhierarchien, welche sich gut auf GitHub-Topics abbilden lassen, eine bessere Klassifikationsleistung als vorherige Arbeiten. Bei Klassenhierarchien, wo dies nicht der Fall ist, die Klassifikationsleistung hingegen schlechter.  
Automatisierungssysteme sind langlebige, softwaregesteuerte Systeme, die aufgrund wechselnder Anforderungen typischerweise mehrere Evolutionszyklen durchlaufen. Da Automatisierungshardware und Software eng verzahnt sind betreffen Änderungen am System oft beide Bestandteile und Änderungsausbreitung ist von Hand nur schwer nachvollziehbar. KAMP ist ein existierender Ansatz zur automatischen Änderungsausbreitungsanalyse. Hier werden Metamodelle verwendet um Änderungsausbreitung mithilfe von definierten Regeln zu berechnen. Die hier vorgestellte Bachelorarbeit erweitert KAMP mit dem Ziel, von der Architektur dieser Systeme zu abstrahieren und Anforderungen mit einzubeziehen. Somit soll eine Änderungsausbreitungsanalyse auf Basis von Anforderungsänderungen in Automatisierungssystemen unterstützen werden. Um Anforderungen zu formalisieren werden Metamodelle für Anforderungen und Entwurfsentscheidungen eingebunden. Evaluiert wird auf Basis vordefinierter Evolutionsszenarien eines Labormodells einer Automatisierungsanlage (xPPU).  +