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.
E
Im Zuge der Masterarbeit sollte eine domänenspezifische Sprache für Änderungsausbreitungsregeln evaluiert und erweitert werden. Durch diese Sprache wird es Domänenexperten ermöglicht, Änderungsausbreitungsregeln auf Grundlage eines Metamodells innerhalb des Änderungsausbreitungsframeworks zu erstellen. Dabei sind keine tiefer gehenden Kenntnisse der Java-Programmierung oder des Änderungsausbreitungsframeworks notwendig. Aus den in dieser Sprache formulierten Regeln werden automatisch Java-Klassen generiert, die eine Änderungsausbreitungsberechnung durchführen können. Zu Evaluationszwecken wurden die bisher mittels Java-Methoden implementierten Änderungsausbreitungsberechnungen untersucht. Diese konnten in Regelklassen gegliedert und teilweise in der Sprache abgebildet werden. Für die nicht abbildbaren Regeln wurden neue Sprachkonstrukte konzipiert. Zudem wurde die Übertragbarkeit von der Sprache zwischen unterschiedlichen Anwendungsdomänen untersucht.  +
Diese Arbeit stellt eine Schnittstelle vor, die, eingebunden in ein Programm, die Aktionen eines Nutzers im Hintergrund auf dem lokalen Rechner verarbeitet und speichert, und versucht, aus den gesammelten Daten eine Vorhersage für die nächste Aktion zu ermitteln. Eine Nutzeraktion ist dabei durch die Daten eines Datensatzes definiert, die der Nutzer durch die Aktion abfragen möchte. Aus einer Reihe von Paaren (Nutzereingabe, extrahierte Daten), die automatisch über eine REST-Schnittstelle oder von Hand über eine grafische Nutzeroberfläche in das System eingespeist werden können, wird ein Modell gewonnen, das für jede Aktion alle unmittelbar nachfolgenden Aktionen als Bigramm speichert und ihre Häufigkeit zählt. Die Schnittstelle stellt eine Reihe von Vorhersagestrategien zur Verfügung. Eine davon nutzt ein künstliches neuronales Netz, das das System in die Lage versetzt, auch dann einen Aktionsvorschlag zu machen, wenn der Nutzer zuvor eine völlig unbekannte Aktion ausgeführt hat. Die Leistungsfähigkeit des neuronalen Netzes wurde an Beispieldaten getestet und evaluiert. Für die Evaluation wurden zufällig Modelle mit Aktionsfolgen generiert, die menschliches Verhalten nachahmen sollten. Bei einem stichprobenartigen Durchlauf, bei dem das Modell auf zweitausend generierte Nutzeranfragen trainiert wurde, konnte das System die Aktionen zu 54.2 Prozent replizieren, bei zweihundert Nutzeranfragen im Mittel zu 72.2 Prozent. Bei authentischem menschlichem Nutzerverhalten gibt es gute Gründe dafür, anzunehmen, dass die Vorhersage noch leistungsfähiger ist.  +
In der Änderungsausbreitungsanalyse wird untersucht, wie sich Änderungen in Systemen ausbreiten. Dazu werden unter anderem Algorithmen entwickelt, die identifizieren, welche Elemente in einem System von einer Änderung betroffen sind. Für die Anpassung bestehender Algorithmen existiert keine spezielle Sprache, weshalb Domänenexperten universelle Programmiersprachen, wie Java, verwenden müssen, um Änderungsausbreitungen zu formulieren. Durch den imperativen Charakter von Java, benötigen Domänenexperten mehr Code und mehr Wissen über Implementierungsdetails, als sie mit einer, auf die Änderungs- ausbreitungsanalyse zugeschnittenen, Sprache bräuchten. Eine Sprache sollte stets an den Algorithmus der jeweiligen Änderungsausbreitungsanalyse angepasst sein. Für den in dieser Arbeit betrachteten Ansatz zur Änderungsausbreitungsanalyse mit der Bezeichnung Karlsruhe Architectural Maintainability Prediction (KAMP), besteht noch keine spezielle Sprache. KAMP ist ein Ansatz zur Bewertung architekturbasierter Änderungsanfragen, der in einem gleichnamigen Softwarewerkzeug implementiert ist. Diese Arbeit präsentiert mit der Change Propagation Rule Language (CPRL) eine spezielle Sprache für den, in KAMP verwendeten, Algorithmus der Änderungsausbreitungsanalyse. Zum Abschluss wird der Vorteil der entwickelten Sprache, gegenüber drei konkurrierenden Sprachen, ermittelt. Die Arbeit kommt zum Schluss, dass CPRL kompakter als konkurrierende Sprachen ist und es gleichzeitig erlaubt, die Mehrheit an denkbaren Änderungsausbreitungen zu beschreiben.  +
Der Einsatz mehrerer Modelle zur Beschreibung eines Softwaresystems birgt oftmals die Herausforderung, diese konsistent zu halten. Während es viel Forschung zur Konsistenzhaltung zweier Modelle gibt, untersuchen nur wenige Arbeiten die Spezifika der Konsistenzhaltung mehrerer Modelle. In dieser Bachelorarbeit wird eine neue Programmiersprache vorgestellt, die es erlaubt, Transformationen zu erstellen, die mehr als zwei Modelle konsistent halten. Die Sprache verwendet ein Zwischen-Metamodell, sodass alle Transformationen zuerst von einem existierenden Modell in das Zwischenmodell und dann erst in die anderen Modelle ausgeführt werden.  +
Die meta-kognitive Strategie "laut nachzudenken" kann auf neuronale Sprachmodelle übertragen werden, wie Betz et al. zeigen: Ein vortrainiertes Sprachmodell ist besser in der Lage, deduktive Schlussfolgerungsprobleme zu lösen, wenn es zuvor dynamische Problemelaborationen generiert. Das Sprachmodell verwendet auf dem Datensatz von Betz et al. eine einfache Heuristik für seine Antwortvorhersage, die es mithilfe der selbst generierten Kontexterweiterungen effektiver einsetzen kann. In dieser Arbeit untersuche ich, wie dynamische Kontexterweiterungen die Performanz eines neuronalen Sprachmodells beeinflussen, wenn es nicht auf eine solche Heuristik zurückgreifen kann. Ich überprüfe (i) die Schlussfolgerungsfähigkeiten eines vortrainierten neuronalen Sprachmodells im Zero-Shot Setting, (ii) den Einfluss verschiedener vorgegebener Kontexterweiterungen auf die Zero-Shot-Performanz und (iii) die Fähigkeiten des Sprachmodells, selbst effektive Kontexterweiterungen zu generieren und zu nutzen.  +
Unvollständige und nicht überprüfte Anforderungen können zu Missverständnissen und falschen Vorstellungen führen. Gerade im Sicherheitsbereich können verletzte Anforderungen Hinweise auf potenzielle Schwachstellen sein. Um eine Software auf Schwachstellen zu prüfen, werden Sicherheitsanforderungen an ihre Implementierung geknüpft. Hierfür müssen spezifische Anforderungsattribute identifiziert und mit dem Design verknüpft werden. In dieser Arbeit werden 93 Sicherheitsanforderungen auf Designebene für die Open-Source-Software EVerest, einer Full-Stack-Umgebung für Ladestationen, erhoben. Mithilfe von Prompt Engineering und Fine-tuning werden Designelemente mittels GPT klassifiziert und ihre jeweiligen Erwähnungen aus den erhobenen Anforderungen extrahiert. Die Ergebnisse deuten darauf hin, dass die Klassifizierung von Designelementen in Anforderungen sowohl bei Prompt Engineering als auch bei Fine-tuning gut funktioniert (F1-Score: 0,67-0,73). In Bezug auf die Extraktion von Designelementen übertrifft Fine-tuning (F1-Score: 0,7) jedoch Prompt Engineering (F1-Score: 0,52). Wenn beide Aufgaben kombiniert werden, übertrifft Fine-tuning (F1-Score: 0,87) ebenfalls Prompt Engineering (F1-Score: 0,61).  +
Many modern high-performance applications are highly-configurable software systems that provide hundreds or even thousands of configuration options. System administrators or application users need to understand all these options and their impacts on the software performance to choose suitable configuration values. To understand the influence of configuration options on the run-time characteristics of a software system, users can use performance prediction models, but building performance prediction models for highly-configurable high-performance applications is expensive. However, not all configuration options, which a software system offers, are performance-relevant. Removing these performance-irrelevant configuration options from the modeling process can reduce the construction cost. In this thesis, we explore and analyze two different approaches to empirically identify configuration options that are not performance-relevant and can be removed from the performance prediction model. The first approach reuses existing performance modeling methods to create much cheaper prediction models by using fewer samples and then analyzing the models to identify performance-irrelevant configuration options. The second approach uses white-box knowledge acquired through dynamic taint analysis to systematically construct the minimal number of required experiments to detect performance-irrelevant configuration options. In the evaluation with a case study, we show that the first approach identifies performance-irrelevant configuration options but also produces misclassifications. The second approach did not perform to our expectations. Further improvement is necessary.  +
Microservices architectures have gained popularity over the recent years, especially since global players in the internet economy changed to this architectural style. Many architectural patterns for recurring problems were identified, such as the Service Discovery for service registration or Client-side Load Balancing for load distribution. Architectural analyses with the Palladio framework allow for the investigation of the attainment of these requirements during design time. The Architectural Templates method combines architecture models with architectural patterns and styles and allows for design-time analyses. In this thesis, we create a Microservices Architectural Templates catalog, containing microservices Architectural Templates. A selection of widely used patterns is analyzed and conceptually mapped to the Architectural Templates method. A case study, conducted with a sample application representing a customer relationship management application, shows that software architects can profit from the provided templates by automatic model completions and accurate analyses results.  +
Nowadays, software systems are evolving at a pace never seen before. As a result, emerging inconsistencies between different software artifacts are almost inevitable. Currently, there are already approaches for automated consistency maintenance between source code and architecture models. However, these approaches have various limitations. Therefore, in this thesis, we present a comprehensive approach for supporting the consistency preservation between software artifacts with special focus on software evolution and adaptation. At design-time, source code analysis and consistency rules are used, while at run-time, monitoring data is used as input for a transformation pipeline. In contrast to already existing approaches, the automated derivation of the system composition is supported. Ultimately, self-validations were included as a central component of the approach. In a case study based evaluation the accuracy of the models and the performance of the approach was measured. In addition, the scalability of the transformations within the pipeline was investigated.  +
With digitalization in progress, the amount of sensitive data stored in software systems is increasing. However, the confidentiality of this data can often not be guaranteed, as uncertainties with an impact on confidentiality exist, especially in the early stages of software development. As the consideration of uncertainties regarding confidentiality is still novel, there is a lack of awareness of the topic among software architects. Additionally, the existing knowledge is scattered among researchers and institutions, making it challenging to comprehend and utilize for software architects. Current research on uncertainties regarding confidentiality has focused on analyzing software systems to assess the possibilities of confidentiality violations, as well as the development of methods to classify uncertainties. However, these approaches are limited to the researchers’ observed uncertainties, limiting the generalizability of classification systems, the validity of analysis results, and the development of mitigation strategies. This thesis presents an approach to enable the collection and management of knowledge on uncertainties regarding confidentiality, enabling software architects to comprehend better and identify uncertainties regarding confidentiality. Furthermore, the proposed approach strives to enable collaboration between researchers and practitioners to manage the effort to collect the knowledge and maintain it. To validate this approach, a prototype was developed and evaluated with a user study of 17 participants from software engineering, including 7 students, 5 researchers, and 5 practitioners. Results show that the approach can support software architects in identifying and describing uncertainties regarding confidentiality, even with limited prior knowledge, as they could identify and describe uncertainties correctly in a close-to-real-world scenario in 94.4% of the cases.  +
Many software systems have to be designed and developed in a way that specific security requirements are guaranteed. Security can be specified on different views of the software system that contain different kinds of information about the software system. Therefore, a security analysis on one view must assume security properties of other views. A security analysis on another view can be used to verify these assumptions. We provide an approach for enabling the information transfer between a static architecture analysis and a static, lattice-based source code analysis. This approach can be used to reduce the assumptions in a component-based architecture model. In this approach, requirements under which information can be transferred between the two security analyses are provided. We consider the architecture and source code security analysis as black boxes. Therefore, the information transfer between the security analyses is based on a megamodel consisting of the architecture model, the source code model, and the source code analysis results. The feasibility of this approach is evaluated in a case study using Java Object-sensitive ANAlysis and Confidentiality4CBSE. The evaluation shows that information can be transferred between an architecture and a source code analysis. The information transfer reveals new security violations which are not found using only one security analysis.  +
In the area of workflow analysis, the workflow in respect to e.g. a working process can be analyzed by looking into the data which was used for the working process or created during the working process. The main contribution of this work is to extend CoVER in such a way that it supports LIKE predicates with order preserving encryption.  +
Professional installation of stationary sensors burdens the adoption of Activity Recognition Systems in households. This can be circumvented by utilizing sensors that are cheap, easy to set up and adaptable to a variety of homes. Since 72% of European consumers will have Smart Meters by 2020, it provides an omnipresent basis for Activity Recognition. This thesis investigates, how a Smart Meter’s limited recognition of appliance involving activities can be extended by Vibration Sensors. We provide an experimental setup to aggregate a dedicated dataset with a sampling frequency of 25,600 Hz. We evaluate the impact of combining a Smart Meter and Vibration Sensors on a system’s accuracy, by means of four developed Activity Recognition Systems. This results in the quantification of the impact. We found out that through combining these sensors, the accuracy of an Activity Recognition System rather strives towards the highest accuracy of a single underlying sensor, than jointly surpassing it.  +
Softwarearchitekturdokumentationen enthalten Fachbegriffe aus der Domäne der Softwareentwicklung. Wenn man diese Begriffe findet und zu den passenden Begriffen in einer Datenbank verknüpft, können Menschen und Textverarbeitungssysteme diese Informationen verwenden, um die Dokumentation besser zu verstehen. Die Fachbegriffe in Dokumentationen entsprechen dabei Entitätserwähnungen im Text. In dieser Ausarbeitung stellen wir unser domänenspezifisches Entity-Linking-System vor. Das System verknüpft Entitätserwähnungen innerhalb von Softwarearchitekturdokumentationen zu den zugehörigen Entitäten innerhalb einer Wissensbasis. Das System enthält eine domänenspezifische Wissensbasis, ein Modul zur Vorverarbeitung und ein Entity-Linking-System.  +
Natural Language Software Architecture Documentation ( NLSAD ) and Software Architecture Model ( SAM) provide information about a software systems design and qualities. Inconsistencies between these artifacts can negatively impact the comprehension and evolution of the system. ArDoCo is an approach that was proposed in prior work by Keim et al. to find such inconsistencies and relies on Traceability Link Recovery (TLR) between entities in the NLSAD and SAM . ArDoCo searches for Unmentioned Model Elements (UMEs) in the model and Missing Model Elements (MMEs) in the text using the linkage information. ArDoCo’s approach shows promising results but has room for improvement regarding precision due to falsely identified textual entities. This work proposes using informal diagrams from the Software Architecture Documentation (SAD) to improve this. The approach performs an additional TLR between the textual entities and the diagram entities. According to heuristics, the linkage of textual entities and diagram entities is utilized to increase or decrease the confidence in textual entities. The Diagram Text TLR and its impact on ArDoCo’s performance are evaluated separately using the same data set as previous work by Keim et al. The data set was extended to include informal diagrams. The Diagram Text TLR achieves a good F1-score with Optical Character Recognition (OCR) of 0.54. The approach improves the MME detection (0.77→0.94 accuracy) by lowering the amount of falsely identified textual entities (0.39→0.69 precision) with a negligible impact on recall. The UME detection and ArDoCo ’s NLSAD to SAM are slightly positively impacted and continue to perform excellently. The results show that using informal diagrams to improve entity recognition in the text is promising. Room for improvement exists in dealing with issues related to OCR and diagram element processing.  +
Softwaresysteme der heutigen Zeit werden zunehmend komplexer und unterliegen immer mehr variierenden Bedingungen. Dadurch gewinnen selbst-adaptive Systeme an Bedeutung, da diese sich neuen Bedingungen dynamisch anpassen können, indem sie Veränderungen an sich selbst vornehmen. Domänenspezifische Modellierungssprachen (DSL) zur Formalisierung von Adaptionsstrategien stellen ein wichtiges Mittel dar, um den Entwurf von Rückkopplungsschleifen selbst-adaptiver Softwaresysteme zu modellieren und zu optimieren. Hiermit soll eine Bachelorarbeit vorgeschlagen werden, die sich mit der Fragestellung befasst, wie eine Optimierung von Adaptionsstrategien in einer DSL zur Entwurfszeit beschrieben werden kann.  +
Entwicklung einer Methode zum Vergleich mehrsprachiger und zeitabhängiger Textkorpora am Beispiel des Google Books Ngram Datensatzes.  +
Im Bereich der modellgetriebenen Softwareentwicklung sind Simulationen ein wichtiges Konzpet. Zum Beispiel erlaubt das Palladio Component Model (PCM) die Modellierung und der Palladio Simulator die Simulation von Softwarearchitekturen durch ereignisorientierte Simulationen, um Mängel in Softwarearchitekturen frühzeitig zu erkennen. Das Tool DesComp ermöglicht es, ereignisorientierte Simulationen zu modellieren und zu vergleichen. Vor der Implementierung einer neuen Simulation können so Ähnlichkeiten zu bestehenden Simulationen identifiziert werden, um diese wiederzuverwenden. Der DesComp-Ansatz modelliert das Simulations-Verhalten mittels Erfüllbarkeit prädikatenlogischer Formeln (Satisfiability Modulo Theories, kurz SMT). Die Spezifikation des Simulations-Verhaltens durch SMT-Code ist allerdings aufwändig und erfordert Hintergrundwissen zum SMT-LIB Standard. Im Rahmen dieser Arbeit wurde eine domänenspezifischen Sprache (DSL) zur Spezifikation der Simulations-Struktur und des Simulations-Verhaltens mit dem Xtext-Framework entwickelt. Auf Grundlage der Struktur-Spezifikation des DesComp-Ansatzes wurde dafür ein Metamodell zur Modellierung von Struktur und Verhalten ereignisorientierter Simulationen erstellt. Dieses Metamodell wurde als Grundlage der abstrakten Syntax der entwickelten Sprache verwendet. Das Metamodell dient dann als Ausgangspunkt für die weitere Verwendung und Analyse der Simulations-Spezifikation. Dazu wurde eine Transformation der Verhaltens-Spezifikation in SMT-Code implementiert, die zusammen mit der Simulations-Struktur in eine Graph-Datenbank exportiert werden kann, um die Simulation in DesComp zu analysieren oder mit anderen Simulationen zu vergleichen. Die entwickelte Sprache wurde anhand der Simulation BusSimulation und des Palladio-Simulators EventSim evaluiert, indem die Modellierungen der Simulationen mit DesComp und der Sprache anhand verschiedener Kriterien verglichen wurde.  +
Das Testen von Software über deren graphischen Benutzeroberflächen wird mit zunehmender Komplexität der Software (und damit einhergehender Variabilität in der Benutzeroberfläche) aufwendiger. Rein manuelles Testen durch den Entwickler und das Schreiben von Testfällen sind oft nicht mehr möglich. Daher sind neue Ansätze aus dem Bereich des maschinellen Lernens erforderlich, um diese Arbeiten zu erleichtern. Ein Lösungsansatz kann der Einsatz neuronaler Netze sein, die am Forschungszentrum Informatik (FZI) entwickelt werden. Als Eingabedaten sollen dabei Zustände einer graphischen Benutzeroberfläche als Bild dienen, welche jedoch zu komplex sind, um in Echtzeit von diesen Netzen verarbeitet zu werden. In dieser Masterarbeit wurde untersucht, inwiefern eine Kompression der Daten durch den Encoder-Teil von Autoencodern stattfinden kann. Hierzu wurden vier verschiedene Autoencoder-Architekturen entwickelt und analysiert, inwiefern sie sich für diesen Zweck eignen. Um die Autoencoder zu trainieren, wurde ein Trainingsdatengenerator in Rust unter Verwendung von dort vorhandenen GUI-Toolkits als Mock-Applikation einer realen GUI entwickelt. Der Trainingsdatengenerator eignet sich sehr gut zum Training der Autoencoder, da er sehr passgenau Trainingsdaten generieren kann. Aufgrund des frühen Stadiums der verwendeten Werkzeuge traten jedoch während der Entwicklung Fehler auf, die die Entwicklung hemmten. Für diese wurden Workarounds entwickelt, die teilweise die Handhabung des Generators erschweren. Darüber hinaus lässt sich feststellen, dass der Aufwand zur exakten Nachbildung einer Applikation als Mock sehr hoch ist. Bezüglich der Kompression von Informationen über Benutzeroberflächen durch die Autoencoder waren die Ergebnisse dagegen vielversprechend, da die Testdaten auch in hoher Auflösung von 900 x 935 Pixeln mit hoher Genauigkeit rekonstruiert werden konnten. Erste Experimente ergaben, dass die Autoencoder darüber hinaus Fähigkeiten entwickeln, Applikationen mit ähnlichem Farbschema oder ähnlicher Designsprache zu kodieren und wiederzugeben. Ein erstes Fazit über die Fähigkeiten zur Generalisierung fällt daher ebenso positiv aus. Die Genauigkeit der Reproduktion sinkt, wenn die Eingabe farblich oder designtechnisch stark von den Trainingsdaten abweicht.  
Ein neuartiger Ansatz zum Erlernen von Computerspielen ist die Verwendung von neuronalen Netzen mit Gedächtnis (speziell CTRNNs). Die großen Datenmengen in Form roher Pixel-Daten erschweren jedoch das Training. Auto-Encoder können die diese Pixel-Daten der Spielframes soweit komprimieren, dass sie für solche Netze verfügbar werden. Das Ziel dieser Arbeit ist es eine Auto-Encoder-Architektur zu finden, welche Atari-Frames soweit komprimiert, sodass eine möglichst verlustfreie Rekonstruktion möglich ist. Atari-Spiele können so für CTRNNs zugänglich gemacht werden. Dafür wurden zwei unterschiedliche Atari-Spiele ausgewählt, große Datensätze mit geeigneten Spielframes generiert und verschiedene Auto Encoder Architekturen evaluiert. Im Rahmen dieser Arbeit konnte gezeigt werden, dass eine ausreichende Kompression mit akzeptierbaren Qualitätsverlust möglich ist.  +