Universität Stuttgart

Permanent URI for this communityhttps://elib.uni-stuttgart.de/handle/11682/1

Browse

Search Results

Now showing 1 - 10 of 76
  • Thumbnail Image
    ItemOpen Access
    Service Injection von TOSCA-basierten Diensten in Java-Anwendungen
    (2019) Kiefer, Leon
    Viele Cloud Anwendungen bestehen aus mehreren Komponenten und Services, die miteinander kommunizieren. Die Topology and Orchestration Specification for Cloud Applications (TOSCA) definiert einen Standard, um solche Cloud Anwendungen zu beschreiben und zu managen. Um Cloud Services in lokalen Anwendungen zu verwenden, müssen abhängig von der verwendeten Kommunikationstechnologie und der Implementierung der Cloud Services Verbindungsinformationen ausgetauscht werden und spezielle Client Bibliotheken verwendet werden. Dies sorgt für eine hohe Komplexität und schlechte Wiederverwendbarkeit der Implementierung von lokalen Anwendungen. In dieser Arbeit wird ein Konzept vorgestellt, bei dem die komplexe und technologiespezifische Kommunikation nicht in der lokalen Anwendung implementiert wird. Stattdessen werden vorgefertigte Adapter für die jeweilige Technologie mit den passenden Verbindungsinformationen der externen Services in die lokale Anwendung injiziert. Es wird ein Programmiermodell vorgestellt mit dem diese lokalen Anwendungen entwickelt und bereitgestellt werden können. Externen Services werden automatisiert bereitgestellt, wenn diese von der lokalen Anwendung benötigt werden. Die Umsetzbarkeit des Konzeptes wird anhand einer prototypischen Implementierung in Java und der Verwendung von TOSCA-basierten Cloud Services validiert.
  • Thumbnail Image
    ItemOpen Access
    A methodology and initial exploration of personality traits of GitHub Developers as expressed in GitHub issues
    (2019) Greinert, Florian
    Software engineering as a collaborative task relies on the fact that people work together. This work can be influenced by personalities of the participating developers and because projects can fail because of individual differences it becomes more important to understand the human side of software engineering. This work will look at the question of GitHub issues can be used to study the personality of its authors and which, if any, constraints may apply. Using LIWC a methodology will be developed to facilitate that research with a firm grounding in personality theory and it’s practical usage within the domain of software engineering using the Five Factor Model to construct a personality profile of the type of users on GitHub who open up and comment in issues.
  • Thumbnail Image
    ItemOpen Access
    Comparison and analysis of web vulnerability scanners
    (2019) Lis, Alexander
    Within the last years the commercial relevance of web applications increased steadily. They developed from simple information sharing platforms to serious business applications like online-banking, e-commerce and social media platforms. Unlike most other technologies, web-based applications are accessible from around the world continuously. Additionally, they are very susceptible for vulnerabilities as there are various technologies interacting. These factors render web applications to very attractive targets for criminals because they are often easy to attack, globally accessible and yield valuable exploits. As a consequence, much effort was put into research to prevent, detect and eliminate web application vulnerabilities. However manual security audits are time-consuming, costly and demand expertknowledge. Web vulnerability scanners tackle this problem. They are programs that test web applications for the existence of vulnerabilities. Additionally they categorize and report them. Because these tools work automatically, faster as humans and reduce the necessary knowledge in network security, they became an interesting supplementation to traditional security audits. On the other side web vulnerability scanners also have their limits. They can not test for the absence of vulnerabilities and thus produce false positives or miss weaknesses. Furthermore previous research has shown that there are also vulnerability classes that are especially intricate to detect like stored SQL injections or stored cross-site scripting vulnerabilities. Nonetheless web vulnerability scanners show very much potential and there is a growing interest into automatic web application testing. This is reflected in the increasing diversity of commercial web vulnerability scanners that can be found online. Thus this thesis compares and examines three web vulnerability scanners, namely Acunetix, Arachni and w3af. Focus is set on delineating the current capabilities and limits of state-of-the-art vulnerability scanners.
  • Thumbnail Image
    ItemOpen Access
    Evaluating the Effectiveness of Proposed Service-based Maintainability Metrics for Microservices
    (2019) Szidlovszky, Marcel
    Die Wartung von Softwaresystemen ist ein kritischer Prozess in der Entwicklung. Obwohl die Kosten der Wartung auf 60-80% des Softwareentwicklungslebenszyklus geschätzt wird, kommt es trotzdem häufig vor, dass in der Entwicklung die Wartbarkeit an letzter Stelle gesetzt und man den Fokus mehr auf andere Komponenten legt. Dies bekommen, dann die Entwickler, die aus präventiven, korrektiven, adaptiven oder perfektiven Gründen die Software warten müssen, zu spüren. Um eine aufwändige Wartung richtig planen zu können, das heißt den Kosten- und Zeitaufwand zu schätzen, muss man als erstes bestimmen wie wartbar eine Software ist. Dafür werden vor allem Statische-Code und Runtime-Daten Analysen verwendet, welche sich unter anderem auch auf Software Metriken beziehen. Für die herkömmlichen Monolithische Architekturen gibt es bereits eine Menge Literatur, die die Wirksamkeit von Wartbarkeitsmetriken bewertet und nachweist. Da es aber in den letzten Jahren, vor allem bei großen Enterprise Systemen und Software As A Service (SAAS) einen Wechsel von Monolithischen Architekturen zu Microservice Architekturen gab, müssen wir uns anpassen. Weltbekannte Webservices wie Netflix und Amazon zeigen uns dabei wie erfolgreich dieser relativ neuer Architekturtyp sein kann. Diese Systeme folgen dem SAAS Modell und haben somit einen konstanten Wartungsprozess, wobei eine effektive Wartbarkeitsmessung, sehr von Vorteil wäre. Mit diesem Paper wollen wir die Lücke in der Literatur füllen und evaluieren ob Service-basierte Wartbarkeitsmetriken effektiv für Microservices benutzt werden können. Spezifisch sollen bisher noch nicht evaluierte Service-basierten Metriken untersucht werden. Um dieses Ziel zu erreichen wurde als erstes eine aktuelle Liste von vorgestellten Service-basierten Wartbarkeitsmetriken erstellt und eine Menge von Beispielsystemen zusammengestellt, anhand deren wir die Messbarkeit und Effektivität evaluieren können. Die Effektivität wurde dabei über die Messbarkeit und der Aussagekraft der untersuchten Metriken bestimmt. Die Aussagekraft wurde mithilfe folgender Evaluationsmethoden evaluiert: Zum einen wurde eine Korrelation zwischen Metriken und Expertenbewertungen, basierend auf den Wartbarkeitseigenschaften: Größe, Kopplung und Kohäsion, für Beispielsysteme aufgestellt und nach signifikanten Übereinstimmungen untersucht. Der zweite Teil der Evaluation beinhaltet eine Szenario-basierte Analyse, in der qualitativ Evaluiert wurde, wie Metriken im Verhältnis zu theoretischen Reaktionen von Architekturen stehen. Dabei wurde analysiert ob sie den geschätzten Aufwand und die Verschiedenheiten, der Reaktionen von den verschiedenen Architekturen, vorhersagen konnten. Das Ergebnis der Evaluationen zeigt, dass sowohl die untersuchten Kopplungsmetriken, als auch Größenmetriken, sehr effektiv sein können um die Wartbarkeit zu bestimmen. Allerdings konnte keine Aussage über die untersuchte Kohäsionsmetrik getroffen werden, da sich herausgestellt hat, dass die, für die Evaluation benutzten Beispielsysteme, möglicherweise ungeeignet waren.
  • Thumbnail Image
    ItemOpen Access
    Modeling paths in knowledge graphs for context-aware prediction and explanation of facts
    (2019) Stadelmaier, Josua
    Knowledge bases are an important resource for question answering systems and search engines but often suffer from incompleteness. This work considers the problem of knowledge base completion (KBC). In the context of natural language processing, knowledge bases comprise facts that can be formalized as triples of the form (entity 1, relation, entity 2). A common approach for the KBC problem is to learn representations for entities and relations that allow for generalizing existing connections in the knowledge base to predict the correctness of a triple that is not in the knowledge base. In this work, I propose the context path model, which is based on this approach. In contrast to existing KBC models, it also provides explanations for predictions. For this purpose, it uses paths that capture the context of a given triple. The context path model can be applied on top of several existing KBC models. In a manual evaluation, I observe that most of the paths the model uses as explanation are meaningful and provide evidence for assessing the correctness of triples. I also show in an experiment that the performance of the context path model on a standard KBC task is close to a state of the art model.
  • Thumbnail Image
    ItemOpen Access
    Experimentelle Bestimmung vergleichsoptimaler Sortieralgorithmen
    (2019) Obst, Julian
    Die gängigsten Sortierverfahren sortieren Mengen, indem sie zwei Elemente miteinander vergleichen und damit Schritt für Schritt eine Ordnung aufbauen. Es stellt sich die Frage, was die minimale Anzahl an Vergleichen ist, die benötigt wird, um eine beliebige Permutation einer Menge zu sortieren. Das zentrale Ziel dieser Arbeit ist es, die theoretischen Grundlagen zur Bestimmung vergleichsoptimaler Sortieralgorithmen zu erläutern und die Anzahl der Vergleiche von solchen Algorithmen zu bestimmen. Dabei werden auch die praktischen Ansätze besprochen, die benutzt wurden, um einen Algorithmus zu erstellen, der dieses Problem lösen soll. In diesem Zusammenhang werden die Aspekte der Implementierung dieses Algorithmus beleuchtet. Vor allem werden in diesem Punkt aber auch Optimierungen beschrieben, die helfen sollen, die Laufzeit zu verkürzen. Für n = 12, 13 konnten bekannte Ergebnisse bestätigt werden.
  • Thumbnail Image
    ItemOpen Access
    Automatische Extraktion von Funktionen aus klassifizierten E-Mails
    (2019) Tiessen, Alexander
    In vielen kleinen und großen Unternehmen hat die Zahl der eintreffenden E-Mails ein hohes Niveau erreicht. Die Bearbeitung dieser E-Mails ist mit einem hohen Zeit- und Kostenaufwand verbunden. Um diesen Aufwand zu reduzieren, wurde ein System entwickelt, das in zwei Teilschritten arbeitet. Zunächst findet eine Klassifikation statt, in der die E-Mails nach der Absicht des Senders klassifiziert werden. Hierfür wurden mehrere Klassifikatoren des maschinellen Lernens miteinander verglichen, um ein bestmögliches Ergebnis zu erreichen. Im zweiten Schritt wurden für geeignete Klassen Parameter definiert, die die Absicht des Senders genauer beschreiben. Die Werte der Parameter werden dann aus den E-Mails extrahiert. Dies wurde mit Hilfe von Natural-Language-Processing- Methoden in Verbindung mit regelbasierten Ansätzen gelöst. In dieser Arbeit wurde ein selbst erstellter E-Mail-Korpus aus ca. 1.500 E-Mails verwendet.
  • Thumbnail Image
    ItemOpen Access
    Multiple source user notifications in the context of smart kitchens
    (2019) Weingärtner, Henrike
    Heutzutage konkurrieren viele verschiedene Geräte um die Aufmerksamkeit ihrer Nutzer. Durch die Ausbreitung von Smart Home Devices wächst auch die Anzahl der Benachrichtigungen, die ein Benutzer erhalten kann. Intelligente Haushaltsgeräte in der Küche konzentrieren sich auf die Vereinfachung des Kochprozesses, die Vereinfachung der Beschaffung von Zutaten und die Ermöglichung einer gesünderen Ernährung. In dieser Studie wurde untersucht, wie Menschen im Kontext von intelligenten Küchen mehrere Benachrichtigungen auf verschiedenen Geräten wahrnehmen und erleben, wie schnell sie auf die Benachrichtigungen reagieren und inwieweit sie abgelenkt werden. Die Ergebnisse dieses Experiments zeigen, dass für Multiple-Source-Benachrichtigung im Kontext von intelligenten Küchen On-Object-Benachrichtigungen und Ambiente-Systeme die beste Benutzerfreundlichkeit haben und die Benutzer den geringsten kognitiven Aufwand haben. Nutzer können auf Benachrichtigungen schneller reagieren, als wenn sie über ein Smartphone benachrichtigt werden, und die durch diese Systeme verursachten Störungen sind nicht so schwerwiegend.
  • Thumbnail Image
    ItemOpen Access
    Implementierung und Visualisierung N-Gramm-basierter Word-Clouds
    (2019) Pirk, Sebastian
    Word-Clouds stellen eine kompakte und informative Form dar, um Texte zusammen zu fassen und einen Überblick über die wichtigsten Themen zu liefern. Dafür werden im Text häufig vorkommende – und damit wahrscheinlich wichtige – Worte in der Word-Cloud angezeigt. Um die Häufigkeit dieser Worte zu veranschaulichen, werden verschiedene visuelle Variablen wie beispielsweise Schriftgröße oder Schriftfarbe verwendet. Die Anzeige einzelner Wörter ohne ihren Kontext führt jedoch häufig zu einem Bedeutungsverlust. Um dieses Problem zu lösen, untersuchen wir in dieser Arbeit den Mehrwert durch die Darstellung ganzer Wortfolgen anstatt einzelner Worte, den sogenannten N-Grammen, innerhalb einer Word-Cloud. Dies fordert uns heraus, ein neues Design zu entwickeln, für das wir verschiedene Lösungen vorstellen, implementieren und in einer Studie untersuchen.
  • Thumbnail Image
    ItemOpen Access
    Integration Model for Automated Model Generation from Source Code Based on AUTOSAR
    (2019) Kaiser, Shoma
    Nowadays software development in automotive industry plays an important role. In- creasing networking between vehicle systems and large number of software components lead to high complex systems. A modern high-end car has up to 100 Million lines of code [GTD15]. To master this complexity in the automotive industry, model-driven software development has been introduced. A model is an abstraction of the software. It can be applied on different abstraction levels from different viewpoints. Models are necessary to simplify and develop software. Besides that, in the automotive industry AUTOSAR has been introduced too. The main goal of AUTOSAR is to improve the complexity management of vehicles integrated E/E architectures through increased reuse and exchangeability of software modules. In reality the model-driven software development is not continuously introduced yet. The software development process is just used partly so that components of the development process are incomplete and inconsistent. This leads to the risk of information loss, errors, missing transparency and overall to lose against the complexity. That is because software changes are implemented in source code but not into the corresponding models. Thus, a part of software diagrams in the model-driven software development process are not consistent and model-driven software development not realized continuously. This thesis aims to develop an integration model which applies reverse engineering with modifications to generate software models based on source code. In this integration model AUTOSAR should be considered too. Main goal of the integration model is to automatically generate software architecture models. Goal of these models is to increase source code readability, improve software quality and yield advantages for software engineers. The models should guarantee no information loss, correctness and a good transparency for further software development. Therefore, the practical aspects of the generated models will be considered and evaluated. This integration model will be applied with an example from the software development at Daimler AG. Finally the integration model will be applied as prototype on internal source code.