Semantische Suche

Freitag, 14. Januar 2022, 12:00 Uhr

iCal (Download)
Webkonferenz: {{{Webkonferenzraum}}}

Vortragende(r) Philipp Schumacher
Titel Ein Datensatz handgezeichneter UML-Klassendiagramme für maschinelle Lernverfahren
Vortragstyp Bachelorarbeit
Betreuer(in) Dominik Fuchß
Vortragsmodus online
Kurzfassung Klassendiagramme ermöglichen die grafische Modellierung eines Softwaresystems.

Insbesondere zu Beginn von Softwareprojekten entstehen diese als handgezeichnete Skizzen auf nicht-digitalen Eingabegeräten wie Papier oder Whiteboards. Das Festhalten von Skizzen dieser Art ist folglich auf eine fotografische Lösung beschränkt. Eine digitale Weiterverarbeitung einer auf einem Bild gesicherten Klassendiagrammskizze ist ohne manuelle Rekonstruktion in ein maschinell verarbeitbares Diagramm nicht möglich.

Maschinelle Lernverfahren können durch eine Skizzenerkennung eine automatisierte Transformation in ein digitales Modell gewährleisten. Voraussetzung für diese Verfahren sind annotierte Trainingsdaten. Für UML-Klassendiagramme sind solche bislang nicht veröffentlicht.

Diese Arbeit beschäftigt sich mit der Erstellung eines Datensatzes annotierter UML-Klassendiagrammskizzen für maschinelle Lernverfahren. Hierfür wird eine Datenerhebung, ein Werkzeug für das Annotieren von UML-Klassendiagrammen und eine Konvertierung der Daten in ein Eingabeformat für das maschinelle Lernen präsentiert. Der annotierte Datensatz wird im Anschluss anhand seiner Vielfältigkeit, Detailtiefe und Größe bewertet. Zur weiteren Evaluation wird der Einsatz des Datensatzes an einem maschinellen Lernverfahren validiert. Das Lernverfahren ist nach dem Training der Daten in der Lage, Knoten mit einem F1-Maß von über 99%, Textpositionen mit einem F1-Maß von über 87% und Kanten mit einem F1-Maß von über 71% zu erkennen. Die Evaluation zeigt folglich, dass sich der Datensatz für den Einsatz maschineller Lernverfahren eignet.

Vortragende(r) Dennis Bäuml
Titel Entwicklung zuverlässiger KI-basierter Software-Systeme in Anwesenheit von Unsicherheit
Vortragstyp Masterarbeit
Betreuer(in) Max Scheerer
Vortragsmodus online
Kurzfassung Die rapide Zunahme der Rechenleistung heutiger Computer hat die Nutzung von KI in alltäglichen Anwendungen wesentlich erleichtert. Aufgrund der statistischen Natur von KI besteht deshalb eine gewisse Unsicherheit. Diese Unsicherheit kann direkten Einfluss auf die Zuverlässigkeit eines Software-Systems haben. Im Rahmen der Arbeit „Entwicklung zuverlässiger KI-basierter Software-Systeme in Anwesenheit von Unsicherheit“ wird ein Vorgehen präsentiert, das solche Problematiken auf Architekturebene analysieren kann. Das Vorgehen nutzt dafür modellbasierte Qualitätsanalysen, welche im Kontext von Palladio realisiert wurde. Zusätzlich wird ein Vorgehen zur Sensitivitätsanalyse vorgestellt, um ein KI-Netz anhand von veränderten Unsicherheiten abzutasten. Mithilfe dieser Werkzeuge kann eine Zuverlässigkeitsvorhersage auf dem Modell des Software-Systems getätigt werden. Dabei konnte für zwei Unterschiedliche KI-Netze gezeigt werden, dass deren Sensitivitätsmodelle direkten Einfluss auf die Zuverlässigkeit des gesamten Software-Systems haben. Durch den Einsatz von Architekturvorlagen konnte auch gezeigt werden, dass die ebenfalls Einfluss auf die Zuverlässigkeit des gesamten Software-Systems haben.

Freitag, 21. Januar 2022, 11:30 Uhr

iCal (Download)
Webkonferenz: {{{Webkonferenzraum}}}

Vortragende(r) Tobias Hombücher
Titel Canonical Monte Carlo Dependency Estimation
Vortragstyp Proposal
Betreuer(in) Edouard Fouché
Vortragsmodus
Kurzfassung Dependency estimation is a crucial task in data analysis and finds applications in, e.g., data understanding, feature selection and clustering. This thesis focuses on Canonical Dependency Analysis, i.e., the task of estimating the dependency between two random vectors, each consisting of an arbitrary amount of random variables. This task is particularly difficult when (1) the dimensionality of those vectors is high, and (2) the dependency is non-linear. We propose Canonical Monte Carlo Dependency Estimation (cMCDE), an extension of Monte Carlo Dependency Estimation (MCDE, Fouché 2019) to solve this task. Using Monte Carlo simulations, cMCDE estimates dependency based on the average discrepancy between empirical conditional distributions. We show that cMCDE inherits the useful properties of MCDE and compare it to existing competitors. We also propose and apply a method to leverage cMCDE for selecting features from very high-dimensional features spaces, demonstrating cMCDE’s practical relevance.

Freitag, 21. Januar 2022, 12:00 Uhr

iCal (Download)
Ort: Raum 348 (Gebäude 50.34)
Webkonferenz: {{{Webkonferenzraum}}}

Vortragende(r) Fatma Chebbi
Titel Architecture Extraction for Message-Based Systems from Dynamic Analysis
Vortragstyp Bachelorarbeit
Betreuer(in) Snigdha Singh
Vortragsmodus online
Kurzfassung Distributed message-based microservice systems architecture has seen considerable evolution in recent years, making them easier to extend, reuse and manage. But, the challenge lies in the fact that such software systems are constituted of components that are more and more autonomous, distributed, and are deployed with different technologies. On the one hand such systems through their flexible architecture provide a lot of advantages. On the other hand, they are more likely to be changed fast and thus make their architecture less reliable and up-to-date. Architecture reconstruction method can support to obtain the updated architecture at different phases of development life cycle for software systems. However, the existing architecture reconstruction methods do not support the extraction for message-based microservice systems. In our work we try to handle this problem by extending an existing approach of architecture model extraction of message-based microservice systems from their tracing data (source code instrumented) in a way that such systems can be supported. Through our approach, we provide a way to automatically extract performance models for message-based microservice systems through dynamic analysis. We then evaluate our approach with the comparison of extracted model with the manual model with statistical metrics such as precision, recall and F1-score in order to find out the accuracy of our extracted model.
Vortragende(r) Jan-Philipp Töberg
Titel Modelling and Enforcing Access Control Requirements for Smart Contracts
Vortragstyp Masterarbeit
Betreuer(in) Frederik Reiche
Vortragsmodus in Präsenz
Kurzfassung Smart contracts are software systems employing the underlying blockchain technology to handle transactions in a decentralized and immutable manner. Due to the immutability of the blockchain, smart contracts cannot be upgraded after their initial deploy. Therefore, reasoning about a contract’s security aspects needs to happen before the deployment. One common vulnerability for smart contracts is improper access control, which enables entities to modify data or employ functionality they are prohibited from accessing. Due to the nature of the blockchain, access to data, represented through state variables, can only be achieved by employing the contract’s functions. To correctly restrict access on the source code level, we improve the approach by Reiche et al. who enforce access control policies based on a model on the architectural level.

This work aims at correctly enforcing role-based access control (RBAC) policies for Solidity smart contract systems on the architectural and source code level. We extend the standard RBAC model by Sandhu, Ferraiolo, and Kuhn to also incorporate insecure information flows and authorization constraints for roles. We create a metamodel to capture the concepts necessary to describe and enforce RBAC policies on the architectural level. The policies are enforced in the source code by translating the model elements to formal specifications. For this purpose, an automatic code generator is implemented. To reason about the implemented smart contracts on the source code level, tools like solc-verify and Slither are employed and extended. Furthermore, we outline the development process resulting from the presented approach. To evaluate our approach and uncover problems and limitations, we employ a case study using the three smart contract software systems Augur, Fizzy and Palinodia. Additionally, we apply a metamodel coverage analysis to reason about the metamodel’s and the generator’s completeness. Furthermore, we provide an argumentation concerning the approach’s correct enforcement. This evaluation shows how a correct enforcement can be achieved under certain assumptions and when information flows are not considered. The presented approach can detect 100% of manually introduced violations during the case study to the underlying RBAC policies. Additionally, the metamodel is expressive enough to describe RBAC policies and contains no unnecessary elements, since approximately 90% of the created metamodel are covered by the implemented generator. We identify and describe limitations like oracles or public variables.

Freitag, 28. Januar 2022, 12:00 Uhr

iCal (Download)
Ort: MS Teams
Webkonferenz: {{{Webkonferenzraum}}}

Vortragende(r) Felix Rittler
Titel Entwicklung und Analyse von Auto-Encodern für GUI-basiertes Software-Testing durch KI
Vortragstyp Masterarbeit
Betreuer(in) Daniel Zimmermann
Vortragsmodus online
Kurzfassung 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.

Freitag, 4. Februar 2022, 12:00 Uhr

iCal (Download)
Webkonferenz: {{{Webkonferenzraum}}}

Vortragende(r) Atilla Ateş
Titel Konsistenzerhaltung von Feature-Modellen durch externe Sichten
Vortragstyp Bachelorarbeit
Betreuer(in) Timur Sağlam
Vortragsmodus online
Kurzfassung Bei der Produktlinienentwicklung werden Software-Produktlinien(SPLs) meistens Featureorientiert strukturiert und organisiert. Um die gemeinsamen und variablen Merkmale der Produkte einer Produktlinie darzustellen, können Feature-Modelle verwendet werden. Ein Software-Werkzeug zum Erstellen und Editieren von Feature-Modellen ist FeatureIDE, welche die Zustände der Feature-Modelle als Dateien der Extensible Markup Language (XML) persistiert. Bei der Entwicklung von Software-Systemen existieren allerdings mehrere unterschiedliche Artefakte. Diese können sich Informationen mit den Feature-Modellen teilen. Um diese Artefakte und Modelle gemeinsam automatisch evolvieren zu können, werden Konsistenzerhaltungsansätze benötigt. Solche Ansätze sind jedoch nicht mit den persistierten XML-Dateien kompatibel.

In dieser Arbeit implementieren wir eine bidirektionale Modell-zu-Text-Transformation, welche die als XML-Dateien persistierten Zustände der FeatureIDE-Modelle in geeignete Modellrepräsentationen überführt, um daraus feingranulare Änderungssequenzen abzuleiten. Diese können zur deltabasierten Konsistenzerhaltung verwendet werden. Für die Modellrepräsentation verwenden wir ein bestehendes Metamodell für Variabilität. Zur Ableitung der Änderungssequenzen wird ein existierendes Konsistenzerhaltungsframework eingesetzt. Wir validieren die Korrektheit der Transformation mithilfe von Round-Trip-Tests. Dabei zeigen wir, dass die in dieser Arbeit implementierte Transformation alle geteilten Informationen zwischen FeatureIDE und dem Variabilitäts-Metamodell korrekt transformiert. Zudem können mithilfe der in dieser Arbeit implementierten Transformation und mit dem verwendeten Konsistenzerhatlungsframework zu 94,44% korrekte feingranulare Änderungssequenzen aus den als XML-Datei persistierten Zuständen der FeatureIDE-Modelle abgeleitet werden.