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
Die Cybersicherheit bereits in frühen Entwicklungsphasen zu betrachten, gewinnt in der Automobilindustrie zunehmend an Relevanz, um immer komplexer werdende Fahrzeuge gegen Angriffe abzusichern. Welche Teile eines Systemmodells in einer modellbasierten Sicherheitsbetrachtung bereits analysiert wurden, ist nicht eindeutig und meist nur händisch mit Expertenwissen zu ermitteln. Bestehende Ansätze liefern in der frühen Konzeptphase bestenfalls unvollständige Ergebnisse, da das Systemmodell nur skizzenhaft existiert. In dieser Arbeit wurde ein Konzept vorgestellt, mit dem Sicherheitsbetrachtungen bereits in der frühen Konzeptphase durch eine Metrik auf Vollständigkeit bewertet werden können. Dazu werden aus Systemzusammenhängen Elemente bestimmt, die in einer vollständigen Sicherheitsbetrachtung enthalten sein müssen. Diese Erwartung wird daraufhin mit der tatsächlichen Sicherheitsbetrachtung verglichen, um den Grad der Vollständigkeit zu bestimmen. Das Konzept wurde prototypisch implementiert und dessen Anwendbarkeit anhand einer Fallstudie aus dem EVITA Projekt evaluiert.  +
Mithilfe der modellgetriebenen Softwareentwicklung kann im Entwicklungsprozess eines Software-Systems, dieses bzw. dessen Teile und Abstraktionen durch Modelle beschrieben werden. Diese Modelle können untereinander in Abhängigkeitsbeziehungen stehen sowie über redundante Informationen verfügen. Um Inkonsistenzen zu vermeiden, werden Tools zur automatisierten Konsistenzhaltung eingesetzt. In dieser Arbeit wird das EDA-Programm Eagle, das zur Erstellung elektronischer Schaltpläne und Leiterplatten genutzt wird, in das Vitruvius-Framework eingebunden. Bestandteile sind hierbei das Ableiten eines Ecore-Metamodells, das die Schaltplandatei von Eagle beschreibt, das Etablieren von Transformationen zwischen Ecore-Modellen und Schaltplandateien sowie das Extrahieren von Änderungen zwischen zwei chronologisch aufeinanderfolgenden Schaltplandateien. Die extrahierten Änderungen werden in das Vitruvius-Framework eingespielt, wo sie durch das Framework zu in Konsistenzbeziehung stehenden Ecore-Modellen propagiert werden. Zudem wird ein Verfahren eingesetzt, um Änderungen in der Schaltplandatei einem eindeutigen elektronischen Bauteil zuordnen zu können. Dies ist erforderlich, um Bauteile im Kontext mit anderen Programmen zu verfolgen, da die Eigenschaften eines Bauteils in verschiedenen Programmen variieren können.  +
Im Zuge der Masterarbeit sollte eine domänenspezifische Sprache für Änderungsausbreitungsregeln evaluiert und erweitert werden. Durch diese Sprache wird es Domänenexperten ermöglicht, Änderungsausbreitungsregeln auf Grundlage eines Metamodells innerhalb des Änderungsausbreitungsframeworks zu erstellen. Dabei sind keine tiefer gehenden Kenntnisse der Java-Programmierung oder des Änderungsausbreitungsframeworks notwendig. Aus den in dieser Sprache formulierten Regeln werden automatisch Java-Klassen generiert, die eine Änderungsausbreitungsberechnung durchführen können. Zu Evaluationszwecken wurden die bisher mittels Java-Methoden implementierten Änderungsausbreitungsberechnungen untersucht. Diese konnten in Regelklassen gegliedert und teilweise in der Sprache abgebildet werden. Für die nicht abbildbaren Regeln wurden neue Sprachkonstrukte konzipiert. Zudem wurde die Übertragbarkeit von der Sprache zwischen unterschiedlichen Anwendungsdomänen untersucht.  +
Diese Arbeit stellt eine Schnittstelle vor, die, eingebunden in ein Programm, die Aktionen eines Nutzers im Hintergrund auf dem lokalen Rechner verarbeitet und speichert, und versucht, aus den gesammelten Daten eine Vorhersage für die nächste Aktion zu ermitteln. Eine Nutzeraktion ist dabei durch die Daten eines Datensatzes definiert, die der Nutzer durch die Aktion abfragen möchte. Aus einer Reihe von Paaren (Nutzereingabe, extrahierte Daten), die automatisch über eine REST-Schnittstelle oder von Hand über eine grafische Nutzeroberfläche in das System eingespeist werden können, wird ein Modell gewonnen, das für jede Aktion alle unmittelbar nachfolgenden Aktionen als Bigramm speichert und ihre Häufigkeit zählt. Die Schnittstelle stellt eine Reihe von Vorhersagestrategien zur Verfügung. Eine davon nutzt ein künstliches neuronales Netz, das das System in die Lage versetzt, auch dann einen Aktionsvorschlag zu machen, wenn der Nutzer zuvor eine völlig unbekannte Aktion ausgeführt hat. Die Leistungsfähigkeit des neuronalen Netzes wurde an Beispieldaten getestet und evaluiert. Für die Evaluation wurden zufällig Modelle mit Aktionsfolgen generiert, die menschliches Verhalten nachahmen sollten. Bei einem stichprobenartigen Durchlauf, bei dem das Modell auf zweitausend generierte Nutzeranfragen trainiert wurde, konnte das System die Aktionen zu 54.2 Prozent replizieren, bei zweihundert Nutzeranfragen im Mittel zu 72.2 Prozent. Bei authentischem menschlichem Nutzerverhalten gibt es gute Gründe dafür, anzunehmen, dass die Vorhersage noch leistungsfähiger ist.  +
In der Änderungsausbreitungsanalyse wird untersucht, wie sich Änderungen in Systemen ausbreiten. Dazu werden unter anderem Algorithmen entwickelt, die identifizieren, welche Elemente in einem System von einer Änderung betroffen sind. Für die Anpassung bestehender Algorithmen existiert keine spezielle Sprache, weshalb Domänenexperten universelle Programmiersprachen, wie Java, verwenden müssen, um Änderungsausbreitungen zu formulieren. Durch den imperativen Charakter von Java, benötigen Domänenexperten mehr Code und mehr Wissen über Implementierungsdetails, als sie mit einer, auf die Änderungs- ausbreitungsanalyse zugeschnittenen, Sprache bräuchten. Eine Sprache sollte stets an den Algorithmus der jeweiligen Änderungsausbreitungsanalyse angepasst sein. Für den in dieser Arbeit betrachteten Ansatz zur Änderungsausbreitungsanalyse mit der Bezeichnung Karlsruhe Architectural Maintainability Prediction (KAMP), besteht noch keine spezielle Sprache. KAMP ist ein Ansatz zur Bewertung architekturbasierter Änderungsanfragen, der in einem gleichnamigen Softwarewerkzeug implementiert ist. Diese Arbeit präsentiert mit der Change Propagation Rule Language (CPRL) eine spezielle Sprache für den, in KAMP verwendeten, Algorithmus der Änderungsausbreitungsanalyse. Zum Abschluss wird der Vorteil der entwickelten Sprache, gegenüber drei konkurrierenden Sprachen, ermittelt. Die Arbeit kommt zum Schluss, dass CPRL kompakter als konkurrierende Sprachen ist und es gleichzeitig erlaubt, die Mehrheit an denkbaren Änderungsausbreitungen zu beschreiben.  +
Der Einsatz mehrerer Modelle zur Beschreibung eines Softwaresystems birgt oftmals die Herausforderung, diese konsistent zu halten. Während es viel Forschung zur Konsistenzhaltung zweier Modelle gibt, untersuchen nur wenige Arbeiten die Spezifika der Konsistenzhaltung mehrerer Modelle. In dieser Bachelorarbeit wird eine neue Programmiersprache vorgestellt, die es erlaubt, Transformationen zu erstellen, die mehr als zwei Modelle konsistent halten. Die Sprache verwendet ein Zwischen-Metamodell, sodass alle Transformationen zuerst von einem existierenden Modell in das Zwischenmodell und dann erst in die anderen Modelle ausgeführt werden.  +
Die meta-kognitive Strategie "laut nachzudenken" kann auf neuronale Sprachmodelle übertragen werden, wie Betz et al. zeigen: Ein vortrainiertes Sprachmodell ist besser in der Lage, deduktive Schlussfolgerungsprobleme zu lösen, wenn es zuvor dynamische Problemelaborationen generiert. Das Sprachmodell verwendet auf dem Datensatz von Betz et al. eine einfache Heuristik für seine Antwortvorhersage, die es mithilfe der selbst generierten Kontexterweiterungen effektiver einsetzen kann. In dieser Arbeit untersuche ich, wie dynamische Kontexterweiterungen die Performanz eines neuronalen Sprachmodells beeinflussen, wenn es nicht auf eine solche Heuristik zurückgreifen kann. Ich überprüfe (i) die Schlussfolgerungsfähigkeiten eines vortrainierten neuronalen Sprachmodells im Zero-Shot Setting, (ii) den Einfluss verschiedener vorgegebener Kontexterweiterungen auf die Zero-Shot-Performanz und (iii) die Fähigkeiten des Sprachmodells, selbst effektive Kontexterweiterungen zu generieren und zu nutzen.  +
Unvollständige und nicht überprüfte Anforderungen können zu Missverständnissen und falschen Vorstellungen führen. Gerade im Sicherheitsbereich können verletzte Anforderungen Hinweise auf potenzielle Schwachstellen sein. Um eine Software auf Schwachstellen zu prüfen, werden Sicherheitsanforderungen an ihre Implementierung geknüpft. Hierfür müssen spezifische Anforderungsattribute identifiziert und mit dem Design verknüpft werden. In dieser Arbeit werden 93 Sicherheitsanforderungen auf Designebene für die Open-Source-Software EVerest, einer Full-Stack-Umgebung für Ladestationen, erhoben. Mithilfe von Prompt Engineering und Fine-tuning werden Designelemente mittels GPT klassifiziert und ihre jeweiligen Erwähnungen aus den erhobenen Anforderungen extrahiert. Die Ergebnisse deuten darauf hin, dass die Klassifizierung von Designelementen in Anforderungen sowohl bei Prompt Engineering als auch bei Fine-tuning gut funktioniert (F1-Score: 0,67-0,73). In Bezug auf die Extraktion von Designelementen übertrifft Fine-tuning (F1-Score: 0,7) jedoch Prompt Engineering (F1-Score: 0,52). Wenn beide Aufgaben kombiniert werden, übertrifft Fine-tuning (F1-Score: 0,87) ebenfalls Prompt Engineering (F1-Score: 0,61).  +
Many modern high-performance applications are highly-configurable software systems that provide hundreds or even thousands of configuration options. System administrators or application users need to understand all these options and their impacts on the software performance to choose suitable configuration values. To understand the influence of configuration options on the run-time characteristics of a software system, users can use performance prediction models, but building performance prediction models for highly-configurable high-performance applications is expensive. However, not all configuration options, which a software system offers, are performance-relevant. Removing these performance-irrelevant configuration options from the modeling process can reduce the construction cost. In this thesis, we explore and analyze two different approaches to empirically identify configuration options that are not performance-relevant and can be removed from the performance prediction model. The first approach reuses existing performance modeling methods to create much cheaper prediction models by using fewer samples and then analyzing the models to identify performance-irrelevant configuration options. The second approach uses white-box knowledge acquired through dynamic taint analysis to systematically construct the minimal number of required experiments to detect performance-irrelevant configuration options. In the evaluation with a case study, we show that the first approach identifies performance-irrelevant configuration options but also produces misclassifications. The second approach did not perform to our expectations. Further improvement is necessary.  +
Microservices architectures have gained popularity over the recent years, especially since global players in the internet economy changed to this architectural style. Many architectural patterns for recurring problems were identified, such as the Service Discovery for service registration or Client-side Load Balancing for load distribution. Architectural analyses with the Palladio framework allow for the investigation of the attainment of these requirements during design time. The Architectural Templates method combines architecture models with architectural patterns and styles and allows for design-time analyses. In this thesis, we create a Microservices Architectural Templates catalog, containing microservices Architectural Templates. A selection of widely used patterns is analyzed and conceptually mapped to the Architectural Templates method. A case study, conducted with a sample application representing a customer relationship management application, shows that software architects can profit from the provided templates by automatic model completions and accurate analyses results.  +
Nowadays, software systems are evolving at a pace never seen before. As a result, emerging inconsistencies between different software artifacts are almost inevitable. Currently, there are already approaches for automated consistency maintenance between source code and architecture models. However, these approaches have various limitations. Therefore, in this thesis, we present a comprehensive approach for supporting the consistency preservation between software artifacts with special focus on software evolution and adaptation. At design-time, source code analysis and consistency rules are used, while at run-time, monitoring data is used as input for a transformation pipeline. In contrast to already existing approaches, the automated derivation of the system composition is supported. Ultimately, self-validations were included as a central component of the approach. In a case study based evaluation the accuracy of the models and the performance of the approach was measured. In addition, the scalability of the transformations within the pipeline was investigated.  +
With digitalization in progress, the amount of sensitive data stored in software systems is increasing. However, the confidentiality of this data can often not be guaranteed, as uncertainties with an impact on confidentiality exist, especially in the early stages of software development. As the consideration of uncertainties regarding confidentiality is still novel, there is a lack of awareness of the topic among software architects. Additionally, the existing knowledge is scattered among researchers and institutions, making it challenging to comprehend and utilize for software architects. Current research on uncertainties regarding confidentiality has focused on analyzing software systems to assess the possibilities of confidentiality violations, as well as the development of methods to classify uncertainties. However, these approaches are limited to the researchers’ observed uncertainties, limiting the generalizability of classification systems, the validity of analysis results, and the development of mitigation strategies. This thesis presents an approach to enable the collection and management of knowledge on uncertainties regarding confidentiality, enabling software architects to comprehend better and identify uncertainties regarding confidentiality. Furthermore, the proposed approach strives to enable collaboration between researchers and practitioners to manage the effort to collect the knowledge and maintain it. To validate this approach, a prototype was developed and evaluated with a user study of 17 participants from software engineering, including 7 students, 5 researchers, and 5 practitioners. Results show that the approach can support software architects in identifying and describing uncertainties regarding confidentiality, even with limited prior knowledge, as they could identify and describe uncertainties correctly in a close-to-real-world scenario in 94.4% of the cases.  +
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.  +