Universität Stuttgart

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

Browse

Search Results

Now showing 1 - 9 of 9
  • Thumbnail Image
    ItemOpen Access
    Conception, design and development of an efficient End-to-End test automation of an automotive Measurement, Calibration and Diagnostics (MCD) system
    (2021) Bhingaradiya, Shyamkumar Dhirajlal
    System Testing is an important phase to assure quality of MCD Software Solutions. It involves verification of acquiring accurate, timely, loss free measurement data from different Electronic Control Unit (ECU)s and Sensors using the software, process them and calibrate the ECUs as needed. System test simulates the exact scenario of the use case of an end user. It includes hardware and software together, which forms System Under Test (SUT). Functional correctness is bare minimum and default objective of system testing. This thesis is beyond the functional correctness of the software. The challenges of such software and systems include but not limited to high frequency measurements, acquire from multiple sources of data, hybrid communication protocols, hardware with real-time embedded software, etc. To achieve high quality deliverables to end users, rigors tests are performed to identify and fix any defects and performance deficiencies. This involves pushing the software to perform under high load, fast and mixed data acquisition rates and protocols, extended duration, etc. Such tests assure defect-free, meeting performance characteristics (Non-functional) and efficient software with acceptable degree of endurance and robustness. The challenge to realize this involves verifying high volume of data in a short span of time. At times, it is expected that verification process consumes no time greater than the measurement time. Hence, the verification should happen in parallel to measurements with the maximum utilization of the system infrastructure round the clock without affecting the performance of the test. Additionally, it also demands that tests run 24x7 with no manual intervention in its preparation and execution phase. Any changes in hardware, software or the firmware need regression testing to ensure the same performance characteristics and quality of the system, which needs the implementation of continuous testing using the Continuous Integration (CI)/ Continuous Deployment (CD) pipelines. Also, there are lots of combinations of test cases, under which the test must be performed. A generic and operating system (Windows and Linux) independent approach is desired. Keywords: End-to-End Automation, Continuous Testing, MCD, System Testing, Functional and Non-functional tests, Measurement Data Format (MDF) Verification
  • Thumbnail Image
    ItemOpen Access
    Generation of reinforcement learning environments from machine-tool descriptions
    (2021) Krimstein, Viktor
    Due to the ever-increasing amount of available data, the technological advances for its processing, and in the context of Industry 4.0, research and industry are focusing on creating increasingly detailed digital twins. These aspire to transfer all the capabilities and attributes of their physical counterparts into the digital world. Digital Twins enable simulations of real production and manufacturing processes to be carried out, new approaches to be tested and, in turn, innovative conclusions to be drawn without having to take the risks that costly machines entail. In parallel, approaches from the fields of machine learning, artificial intelligence and reinforcement learning are finding continuously more applications in the manufacturing and robotics domains. Especially in the latter, OpenAI researchers achieved a breakthrough, namely the construction of a neural network that was trained to solve a Rubik’s cube by a robotic hand using reinforcement learning. For the implementation, appropriate simulation environments were used, in which the agent responsible for controlling the robotic arm could train and learn for an enormous amount of times in the simulation. However, the highly heterogeneous environment in the production environment makes it difficult to integrate reinforcement learning methodologies and create the necessary simulations. Researchers must spend a severe amount of their time implementing interfaces for specific machine-tool related components rather than working on the actual problem. It is exactly this issue that this thesis addresses. The goal of this master thesis is the empirical development of a methodology for the automatic generation of reinforcement learning simulation environments for machine-tools. Within the scope of the thesis, different requirements shall be collected by interviewing domain experts as potential end users, generalized and transferred into a software concept. Furthermore, the possibility of deducing and abstracting state and action spaces for reinforcement learning environments and agents from a given machine-tool description is to be investigated within the scope of this work. In addition, the concept to be developed should be machine-tool and platform-agnostic, as well as modular, so that subsequent research can be conducted upon the presented concept.
  • Thumbnail Image
    ItemOpen Access
    Tool support for systematic literature reviews : analyzing existing solutions and the potential for automation
    (2021) Karakan, Burak
    Die steigende Popularität des evidenz-basierten und empirischen Software-Engineerings hat dazu geführt, dass systematische Reviews sich in diesem Bereich als eine wichtige Forschungsmethode etabliert haben. Der systematische Charakter dieses Forschungsansatzes ermöglicht es, alle relevanten Beweise in Bezug auf ein bestimmtes Forschungsthema zu identifizieren, zu sammeln und zu interpretieren, wobei auch neue Forschungsaktivitäten zur weiteren Untersuchung durchgeführt werden können. Die Entwicklung eines umfassenden und detaillierten Review-Protokolls, das alle relevanten Methoden, Verfahren und Strategien für den Review dokumentiert, muss daher befolgt werden, um eine mögliche Verzerrung in der Bewertung durch den Forscher zu vermeiden und den wissenschaftlichen Wert der Ergebnisse zu erhöhen. Folglich sind die manuellen Tätigkeiten von systematischen Reviews sehr zeitaufwendig und erfordern einen hohen Arbeitsaufwand. Angesichts dieser Herausforderungen gibt es ein großes Potenzial für die Automatisierung mit Tool-Unterstützung, um die Effizienz und Zuverlässigkeit bestimmter Schritte zu erhöhen. Bislang gibt es viele Tools, die zur Unterstützung des systematischen Review-Prozesses entwickelt wurden. Allerdings bieten diese Tools in der Regel nur eine begrenzte Unterstützung für den gesamten Prozess an. Da die Menge der existierenden Tools groß ist, ist es für Forscher schwierig, den Überblick über die existierenden Tools zu behalten um einen passenden Kandidaten auszuwählen. Das Ziel dieser Arbeit ist es, existierende Tools zur Unterstützung des systematischen Review-Prozesses zu identifizieren, zu sammeln und zu analysieren, um einen effizienten Überblick über evaluierte Tools zu erhalten, die bestimmte Features abdecken. Da eine ganzheitliche Tool-Unterstützung für den gesamten Prozess zu fehlen scheint, werden typische Praktiken für systematische Reviews im weiteren Kontext der Softwareentwicklung und Herausforderungen, denen Forscher bei der Durchführung eines systematischen Reviews gegenüberstehen, untersucht, um die wichtigsten Bereiche für die Automatisierung zu identifizieren und einen Vorschlag für ein ganzheitliches Tool-Design aus der Kombination bestehender Werkzeuge zu präsentieren. Um die Ziele zu erreichen, wurden eine Reihe von sinnvollen Forschungsfragen und ein striktes Forschungsprotokoll entwickelt. Um bestehende Tools zu identifizieren und zu sammeln, wurde ein Rapid Review durchgeführt. Die Erfahrungen und Herausforderungen von Software-Engineering- Forschern, die bei der Durchführung von systematischen Übersichtsarbeiten auftreten, wurden durch halbstrukturierte Interviews untersucht. Um eine Reihe von identifizierten Tools zu analysieren, zu vergleichen und zu bewerten, wurde eine Feature Analysis durchgeführt. Die Ergebnisse des Rapid Reviews zeigen eine zunehmende Verbreitung von Tools zur Unterstützung von systematischen Reviews in der Softwareentwicklung und eine begrenzte Evaluierung dieser Tools. Die Beobachtungen, die von den Teilnehmern durch halbstrukturierte Interviews gemacht wurden, zeigen eine Reihe von herausfordernden und problembezogenen Aktivitäten, die während des systematischen Review-Prozesses auftreten. In Bezug auf diese Aktivitäten wurden von den Teilnehmern verschiedene Anforderungen an Werkzeuge identifiziert, die für die Unterstützung von systematischen Literaturreviews wichtig sind. Die Ergebnisse der Feature-Analyse zeigen, dass die Unterstützung durch bestehende Tools noch begrenzt ist. Auch wenn die Unterstützung durch bestehende Tools begrenzt ist, gibt es ein großes Potenzial für die Automatisierung bestimmter Aufgaben. Ein besseres Tool zur Unterstützung der systematischen Literaturrecherche wird immer noch benötigt.
  • Thumbnail Image
    ItemOpen Access
    Developing a digital signage solution for office presence
    (2021) Goller, Christoph
    In an increasingly connected world, for a growing amount of jobs remote work is a valid alternative to the traditional office work. This can provide new opportunities as well as challenges. While it can give employees the possibility to achieve a better work-life balance, it can also lead to confusion at work as it may be unclear where co-workers are currently located. This was the case at the company evia. However, as the company wanted to maintain its flexible working model with all its benefits, a solution for this problem had to be developed. It was decided to develop a system that allows employees to enter whether they’re working remotely or in the office. The collected information should be displayed on digital signs in the office rooms of the company. Digital signs are centrally managed computer screens which can display dynamic content to their audience. However, in order to increase usability, additional ways to display the data should be explored. In the context of this thesis this software system was developed. This included defining, designing, developing, validating and verifying the system. The overall goal of this thesis was to produce a working prototype as a proof of concept. In addition to digital signs the system was able to display data within the Microsoft Teams app and in a browser, after the implementing phase. The user can input his data through a Microsoft Teams conversational bot, e-mail and the web app. Overall the Project took a good course and produced a working system that got adopted by the company.
  • Thumbnail Image
    ItemOpen Access
    Collection telemetry data for a static code analysis tool in a data protection compliant way
    (2021) Wang, Xusong
    Mit der rasanten Entwicklung der Informatik und der langfristigen Entwicklung von Softwarediensten sammeln und analysieren viele Softwareunternehmen routinemäßig Telemetriedaten von Benutzern, um die Benutzererfahrung zu verbessern. Das gilt auch für uns. Um die Leistung eines statischen Code-Analyse-Tools zu verbessern, ist es konstruktiv, Tool-Entwicklern Verständlichkeit und Feedback zu entsprechenden Vorgängen zu bieten. Die Erfassung von Telemetriedaten kann jedoch die Benutzererfahrung verbessern und birgt auch offensichtliche Risiken für die Privatsphäre des Benutzers. Zunächst haben wir Hintergrundwissen und Vorschriften zum Schutz der Privatsphäre bereitgestellt. Mit Unterstützung der Methodik haben wir schrittweise eine Top-Down-Datenschutzanalysemethode STPA-Priv angewendet, um das Datenschutzrisiko der Telemetriefunktion zu bewerten. Die Anwendung von STPA-Priv zeigt seine Flexibilität und Praktikabilität in sozio-technologischen Szenarien. Anschließend haben wir ein Telemetriedatensystem für den Rückkopplungskanal eines statischen Code-Analyse-Tools entwickelt. Wir haben während dieses Prozesses verschiedene Verschlüsselungsschemata diskutiert und verglichen und schließlich ein hybrides Verschlüsselungsschema von RSA und AES ermittelt. Danach haben wir eine abstrakte Codedarstellung vorgeschlagen, einen abstrakten Syntaxbaum, der die Privatsphäre schützt und die geistigen Eigentumsrechte des Quellcodes garantiert. Schließlich haben wir den Prototyp des Telemetriekanals in der Praxis fertiggestellt und getestet. Die experimentellen Ergebnisse zeigten, dass der für statische Code-Analyse-Tools entwickelte Feedback-Kanal die Nützlichkeit von Daten auf der Grundlage des Schutzes der Benutzerdatensicherheit garantiert.
  • Thumbnail Image
    ItemOpen Access
    Secure infrastructure for exchanging rules in static code analysis tools
    (2021) Pohl, Timo
    In software engineering, static code analysis can be used to inspect code and detect security vulnerabilities even in early stages of the development. This is done by analyzing a piece of code against a set of rules. The aim of this work was to create a secure data exchange infrastructure for static code analysis tools and providers of the rules being used. This enables these tools to update their set of rules by downloading the latest rules from rule providers. First of all, a research on alternatives for possible rule exchange infrastructures was done. During this, many existing data exchange and update protocols were examined. Then the requirements engineering and the search for technologies and protocols was conducted. Based on these results, the rule exchange infrastructure was designed. During the whole process, security was of utmost importance, but also requirements like maintainability and expandability were taken into account.
  • Thumbnail Image
    ItemOpen Access
    Does functional programming improve software quality? : an empirical analysis of open source projects on GitHub
    (2021) Abajirov, Daniel
    Nowadays, there are not many studies that have empirically analyzed the effect of functional programming on software quality. Through the era of microservices and cloud-based systems, functional programming is experiencing a growing usage. This is due to the features that this paradigm offers and the benefits that follow. With this study we want to find out if there is a correlation between functional programming language and software quality. To determine the impact of functional programming on software quality, we conducted an empirical study. This study was inspired by the lack of empirical evidence of this impact. To address this lack, we have collected a large dataset from GitHub (eight programming languages, four functional and four imperative, 400 projects, 200 using a functional languages and 200 using an imperative one) that we will analyze to gather information on various aspects of software quality such as maintainability, reliability and further to test our hypotheses. Several tools and techniques were used for the analysis. For maintainability, we used a static analysis tool, SonarQube. For reliability, we analyzed the commit history of each project looking for bugs and categorized them. To determine the domains of each project, we implemented a classification algorithm in Python. As input for this algorithm, we used the information in each project’s “README.md” to obtain a list of possible topics. With this list we were able to classify each project to its domain performing a manual classification. We also categorize bugs from the commit history into eight categories. Above all, it seems that functional programming languages provide good reliability compared to imperative languages. In general, it cannot be said that functional languages have a positive influence on software quality, since for maintainability there is not enough evidence to show that functional programming languages have less code smells that imperative programming languages. The results also indicate that for domains such as applications, databases, and libraries, the use of a functional language could decrease the frequency of programming bugs.
  • Thumbnail Image
    ItemOpen Access
    Software engineering in theory and practice: experiences of former students of the University of Stuttgart
    (2021) Biedermann, Felix
    Universities have one of the goals to prepare students for their work life. But in the last years, employers, as well as the graduates, have reported a skill gap between acquired and required skills. The University of Stuttgart offers the study topic Softwaretechnik, which contains a mix of theory and practice with concepts and practices of use and in use, in the industry. To balance this, the university requires feedback. This sample study analyzes how bachelor alumni perceived their early work life with the knowledge they gained from the university. For this, seven graduates were interviewed, and the data then analyzed using Straussian Grounded Theory. The results show that the graduates felt not prepared due to missing skills and practice, and required a student job to counter this. But they saw the advantage of the degree and reported to have acquired a broad knowledge as well as metaskills helping them in their first job. The study emphasizes to include additional smaller projects in the Softwaretechnik study and spread awareness among students and graduates for the feedback system.
  • Thumbnail Image
    ItemOpen Access
    Data integration and analysis approaches in the context of automotive events: a case study with active driver assistance systems
    (2021) Haug, Markus
    Effective data analytics development is an important capability for modern enterprises. However, managing the data pipelines feeding these data analytics applications gives rise to new challenges, which are especially felt in the automotive domain. This thesis investigates challenges for data pipeline management and suitable data analysis approaches for automotive event data in a case study with the Daimler Truck AG. A literature review identifies challenges for data pipeline management in general and in the automotive context. These challenges are compared to challenges identified through semistructured interviews with data pipeline stakeholders at Daimler Truck AG. Approaches for handling the identified challenges are also discussed. Furthermore, a prototype of a concrete data analysis on automotive event data is designed and developed. The prototype’s performance is experimentally evaluated on an existing data set of automotive event data. This evaluation indicates a need for improvement of the approach. Based on the initial prototype, alternative analysis approaches are investigated and scope for future work is outlined.