Universität Stuttgart
Permanent URI for this communityhttps://elib.uni-stuttgart.de/handle/11682/1
Browse
338 results
Search Results
Item Open Access SESAM: Grundidee und Überblick(1994) Ludewig, JochenDas Projekt ("Software-Engineering-Simulation durch animierte Modelle") hat das Ziel, ein Software-System zu schaffen, das auf einer Workstation läuft und von einer Person, dem Spieler, bedient wird. Der Spieler wird durch die Mitteilungen des SESAM-Systems mit Informationen über ein Software-Projekt versehen. Er kann den Verlauf dieses Projekts in ähnlicher Weise beeinflussen wie bei realen Projekten der Projektleiter und es dadurch mehr oder minder gelingen oder scheitern lassen.Item Open Access Evaluation von Java-Profiler-Werkzeugen(2013) Flaig, Albert; Hertl, Daniel; Krüger, FlorianThe purpose of this study is to evaluate Java profilers and compare them with each other. As profilers differ in various aspects the evaluation has to cover many functional and non-functional scopes like the user interface and license properties, states of development, range of support, and the given underlying conditions. Choosing the right profiler is not an easy task as there is a wide variety each with their own pros and cons. This study aids in decision making by providing a comparison and enabling the user to easily weight up each individual aspect to ones personal needs. Through this study we try to publish a detailed comparison of current profilers as well as a personal recommendation based on objective, well-defined criteria. In this context different kinds of profilers - commercial as well as open source - will be looked at in an attempt to find the best-fitting tool for specific usage scenarios. In order to achieve accurate results each profiler is tested with a similar set of examinees. As a result a table based ranking will be established by the help of the perceived results. The result of this analysis can further be used to choose one profiler out of the tested ones to perfectly fit to the user needs. Secondarily it also provides a detailed overview of current profilers and its functional scopes.Item Open Access Optimierung eines Workflows für Softwareentwickler bei der Bearbeitung von Arbeitspaketen(2013) Rempel, Andreas; Friedrich, Kai; Gross, AndreasBei der Entstehung von Software ist es unabdingbar entstehende Aufgaben über mehrere Arbeitspakete aufzuteilen. Dabei ist es wichtig ein Arbeitspaket während seines gesamten Lebenszyklus zu kontrollieren und dokumentieren. Dieser Lebenszyklus muss auf das Unternehmen zugeschnitten sein, um eine hohe Effizienz und Qualität bei der Bearbeitung des Arbeitspaketes zu gewährleisten. Um die erfolgreiche Durchführung zu unterstützen, will der Industriepartner ein Issue-Tracking-System einsetzen in dem dieser Lebenszyklus abgebildet werden kann. Im Auftrag des Industriepartners wurde dessen bestehender Workflow analysiert und für die Abbildung in einem Issue-Tracking-System optimiert. Hierzu werden in dieser Fachstudie 12 Issue-Tracking-Systeme evaluiert.Item Open Access Analysing and improving the crypto ecosystem of Rust(2017) Keck, PhilippContext: Rust is an emerging systems programming language that suits security-critical applications because it guarantees memory safety without a garbage collector. Its growing ecosystem already encompasses several crypto libraries, though the competition is still open. Previous cryptography research found that vulnerabilities are often due to misunderstandings and misuse of cryptographic APIs rather than bugs in the libraries themselves. Aim: This thesis presents a holistic analysis of Rust's current crypto ecosystem and aims to improve its further development. A particular focus is on API design because all libraries are still open to change their APIs and it will become increasingly difficult to change them later. Method: All parts of the ecosystem are systematically analysed, guided by the general structure of a crypto ecosystem. Research methods include a systematic search for libraries, a survey among contributors, GitHub analyses as well as a self-experiment and a controlled experiment to test the usability. Results: The contributors are typical open source developers and they collaborate in typical ways on GitHub. Most libraries have a clear main developer and there is a general lack of contributors. While two of the major libraries focus on usability and are consequently easier to use and more resistant to misuse, the two most widespread libraries consciously neglect these topics and exhibit flaws known from crypto libraries in other languages. Conclusion: The misuse resistant Rust crypto libraries should be advertised more actively. In the medium term, an officially endorsed API could improve interoperability and foster competition. For such an API and for the improvement of existing APIs, the thesis discusses a number of design decisions and their usability implications.Item Open Access Entwicklung und Implementierung von Analysemethoden zur Einzelfehlerdetektion in Verbindung mit Deep Learning und Machine Learning(2020) Pavlovski, AlexanderIn Deutschland beförderte die Deutsche Bahn AG 148 Millionen Fahrgäste und erreichte eine Gesamtbetriebsleistung von 1,09 Milliarden Trassenkilometern. Die Fahrgastanzahl stieg hier um 4% im Vergleich zum Vorjahr [1]. Dieser Trend lässt vermuten, dass in den kommenden Jahren der Zugverkehr weiter zunehmen wird, so auch aber auch die Belastung der Schienenwege. Aus diesem Grund ist es maßgeblich die Instandhaltung dieser weiter zu verbessern, um einen reibungslosen Schienenverkehr zu gewährleisten. Dazu existiert die Möglichkeit die Vertikalbewegung bzw. Vertikalbeschleunigung der Achse eines Zuges auf dem Gleis zu messen und darauf Fehler zu erkennen. Damit der Prozess der Fehlererkennung aus dem Signal vereinfacht wird, beauftragte das Institut für Eisenbahn- und Verkehrswesen im Sommersemester 2019 an der Universität Stuttgart, über das Studienprojekt der Fakultät Informatik, acht Studenten damit, eine Software zu entwickeln, die diesem Problem abhilft. Das Ergebnis ist die Software PUL-Anfahr, welche aus zwei Prozessabläufen besteht: Aufbereitung und Analyse der Messdaten. In dem Analyseteil geschieht die tatsächliche Fehlererkennung. Jede Gleisinstabilität folgt einem bestimmten Muster im Signal. Jedes dieser Fehlermuster gilt es zu erkennen. Insbesondere hatten Machine Learning Algorithmen, ein Teilbereich der Künstlichen Intelligenz, in den letzten Jahren starke Fortschritte im Themengebiet Mustererkennung zu verzeichnen. Somit bietet es sich an solche Algorithmen in PUL-Anfahr zu integrieren, die in dieser Bachelorarbeit implementiert und erörtert werden.Item Open Access Entwicklung und Implementierung von Analysetools zur Dimensionierung von Entwässerungsanlagen am Bahnkörper und zur Aufstellung der Investitionsschätzung von vorgeplanten Eisenbahninfrastrukturen in das vorhandene DCC-Modell(2020) Koch, DanielDiese Arbeit beschreibt die Entwicklung und Implementierung von zwei Analysetools in das vorhandene DCC-Modell. Dabei wird der DCC-Ansatz erläutert und die Umsetzung in Bezug auf die zu implementierenden Tools aufgeführt. Eine der Softwarelösungen dient zur Aufstellung der Investitionsschätzung von vorgeplanten Eisenbahninfrastrukturen. Hierbei wird die Kostenermittlung in Form einer Kostenschätzung für den Verkehrsträger Schiene im Detail betrachtet. Das zweite Analysetool unter-sucht die Dimensionierung von Entwässerungsanlagen am Bahnkörper. Dafür wird auf die hydraulische Bemessung von offenen Entwässerungsanlagen umfänglich eingegangen. Für beide Softwarelösungen wird die Vorgehensweise der Implementierung schrittweise erklärt und die enthaltenen Funktionen dargelegt. Zudem wird die Integration der Analysetools in die vom Studienprojekt „ModellBahn“ entwickelte Software namens „PULTrack“ ausführlich beschrieben, und mögliche Anpassungen und Optimierungen dieser erwähnt.Item Open Access CASE - eine kritische Übersicht(1989) Ludewig, JochenCASE ist aus dem Bedürfnis entstanden, den Prozeß der Software-Entwicklung durch Werkzeuge so zu unterstützen, daß die Produktivität gesteigert und die Qualität erhöht wird. Solche Werkzeuge sind auf der Basis moderner Rechner und Betriebssysteme möglich. Für die Interessenten ist es allerdings nicht leicht, die seriösen Produktinformationen von den überzogenen Werbesprüchen zu unterscheiden. Der Beitrag zielt zunächst darauf ab, das Wort CASE mit einem klaren Begriff zu verbinden. Der Zusammenhang zwischen Werkzeugen und Methoden wird ausführlich diskutiert. Weitere Schwerpunkte sind eine Übersicht der Werkzeuge, die unter den Begriff CASE fallen, eine Zusammenstellung der wichtigsten Anforderungen, eine Klassifikation von Werkzeugausstattungen und eine Diskussion ungelöster Probleme heutiger Werkzeuge. Einige Prognosen für die zukünftige Entwicklung des Software Engineerings schließen den Vortrag ab.Item Open Access On the impact of service-oriented patterns on software evolvability: a controlled experiment and metric-based analysis(2019) Bogner, Justus; Wagner, Stefan; Zimmermann, AlfredBackground: Design patterns are supposed to improve various quality attributes of software systems. However, there is controversial quantitative evidence of this impact. Especially for younger paradigms such as service- and Microservice-based systems, there is a lack of empirical studies. Objective: In this study, we focused on the effect of four service-based patterns - namely Process Abstraction, Service Façade, Decomposed Capability, and Event-Driven Messaging - on the evolvability of a system from the viewpoint of inexperienced developers. Method: We conducted a controlled experiment with Bachelor students (N = 69). Two functionally equivalent versions of a service-based web shop - one with patterns (treatment group), one without (control group) - had to be changed and extended in three tasks. We measured evolvability by the effectiveness and efficiency of the participants in these tasks. Additionally, we compared both system versions with nine structural maintainability metrics for size, granularity, complexity, cohesion, and coupling. Results: Both experiment groups were able to complete a similar number of tasks within the allowed 90 min. Median effectiveness was 1/3. Mean efficiency was 12% higher in the treatment group, but this difference was not statistically significant. Only for the third task, we found statistical support for accepting the alternative hypothesis that the pattern version led to higher efficiency. In the metric analysis, the pattern version had worse measurements for size and granularity while simultaneously having slightly better values for coupling metrics. Complexity and cohesion were not impacted. Interpretation: For the experiment, our analysis suggests that the difference in efficiency is stronger with more experienced participants and increased from task to task. With respect to the metrics, the patterns introduce additional volume in the system, but also seem to decrease coupling in some areas. Conclusions: Overall, there was no clear evidence for a decisive positive effect of using service-based patterns, neither for the student experiment nor for the metric analysis. This effect might only be visible in an experiment setting with higher initial effort to understand the system or with more experienced developers.Item Open Access How to speed up BDD automated acceptance testing for safety-critical systems(2018) Degutis, Daniel RyanAn important aspect of developing safety-critical systems is testing, and in some cases an agile development and testing approach is desirable. To reflect and test safety requirements, a process based on Behavior Driven Development (BDD) is considered in this work. The goal is to have an as efficient as possible process for BDD automated acceptance testing. The original process for this, used in an earlier experiment, is examined and automatable parts are identified. Based on this, improvements to the process are proposed and implemented. This results in an updated process, that utilizes a newly implemented command line tool written for the purpose of producing test cases. These can then be used for the BDD automated acceptance testing process. Finally, an evaluation with students BDD acceptance testing a sample system is conducted, to determine the effectiveness of the improved process. The results of the evaluation show benefits in productivity when using the improved process.Item Open Access Observation of current approaches to utilize the elastic cloud for big data stream processing(2018) Zigldrum, MichaelThis paper conducts a systematic literature map to collect information about current approaches to utilize the elastic cloud for data stream processing in the big data context. First is a description and setup of the used scientific methodology which adheres to generally accepted methods for systematic literature maps. After building a reference set and constructing search queries for the data collection came the data set cleaning where the publications were first automatically filtered and consecutively manually reviewed to determine the relevant papers. The collected data was evaluated and visualized to help answer the defined research questions and present information. Finally the results of the thesis are discussed and the limitations and implications addressed.