05 Fakultät Informatik, Elektrotechnik und Informationstechnik

Permanent URI for this collectionhttps://elib.uni-stuttgart.de/handle/11682/6

Browse

Search Results

Now showing 1 - 10 of 101
  • Thumbnail Image
    ItemOpen Access
    Empirical research plan: effects of sketching on program comprehension
    (2016) Baltes, Sebastian; Wagner, Stefan
    Sketching is an important means of communication in software engineering practice. Yet, there is little research investigating the use of sketches. We want to contribute a better understanding of sketching, in particular its use during program comprehension. We propose a controlled experiment to investigate the effectiveness and efficiency of program comprehension with the support of sketches as well as what sketches are used in what way.
  • Thumbnail Image
    ItemOpen Access
    A comprehensive safety engineering approach for software-intensive systems based on STPA
    (2015) Abdulkhaleq, Asim; Wagner, Stefan; Leveson, Nancy
    Formal verification and testing are complementary approaches which are used in the development process to verify the functional correctness of software. However, the correctness of software cannot ensure the safe operation of safety-critical software systems. The software must be verified against its safety requirements which are identified by safety analysis, to ensure that potential hazardous causes cannot occur. The complexity of software makes defining appropriate software safety requirements with traditional safety analysis techniques difficult. STPA (Systems-Theoretic Processes Analysis) is a unique safety analysis approach that has been developed to identify system hazards, including the software-related hazards. This paper presents a comprehensive safety engineering approach based on STPA, including software testing and model checking approaches for the purpose of developing safe software. The proposed approach can be embedded within a defined software engineering process or applied to existing software systems, allow software and safety engineers integrate the analysis of software risks with their verification. The application of the proposed approach is illustrated with an automotive software controller.
  • Thumbnail Image
    ItemOpen Access
    Assessing iterative practical software engineering courses with play money
    (2016) Mindermann, Kai; Ostberg, Jan-Peter; Wagner, Stefan
    Changing our practical software engineering course from the previous waterfall model to a more agile and iterative approach created more severe assessment challenges. To cope with them we added an assessment concept based on play money. The concept not only includes weekly expenses to simulate real running costs but also investments, which correspond to assessment results of the submissions. This concept simulates a startup-like working environment and its financing in an university course. Our early evaluation shows that the combination of the iterative approach and the play money investments is motivating for many students. At this point we think that the combined approach has advantages from both the supervising and the students point of view. We planned more evaluations to better understand all its effects.
  • Thumbnail Image
    ItemOpen Access
    Programmierung eines Tools zur Risikovisualisierung für technologiegetriebene Geschäftsmodelle
    (2014) Korb, Tobias
    In dieser Bachelorarbeit wurde in Zusammenarbeit mit dem Fraunhofer Institut Stuttgart ein Werkzeug zur Analyse von Risiken bei technologiegetriebenen Geschäftsmodellen entwickelt. Das Programm namens ChaRi wurde aus Gründen der Portierbarkeit in der Programmiersprache Java implementiert. Es bildet die praktische Umsetzung eines Risikoanalysemodells, das im Rahmen einer Dissertation am Fraunhofer Institut entworfen wurde. ChaRi führt den Benutzer durch fünf definierte Schritte der Risikoanalyse. Am Ende dieser Analyse werden die Risiken des Geschäftsmodells anhand einer Heatmap angezeigt. Dieses Ergebnis bildet die Grundlage für weitere Diskussionen über die Realisierbarkeit des untersuchten Geschäftsmodells. ChaRi wird in Zukunft beim Fraunhofer Institut eingesetzt, um externe Unternehmen bei Risikoanalysen zu unterstützen.
  • Thumbnail Image
    ItemOpen Access
    Scrum for cyber-physical systems: a process proposal
    (2014) Wagner, Stefan
    Agile development processes and especially Scrum are chang- ing the state of the practice in software development. Many companies in the classical IT sector have adopted them to successfully tackle various challenges from the rapidly changing environments and increasingly complex software systems. Companies developing software for embedded or cyber-physical systems, however, are still hesitant to adopt such processes. Despite successful applications of Scrum and other agile methods for cyber-physical systems, there is still no complete process that maps their specific challenges to practices in Scrum. We propose to fill this gap by treating all design artefacts in such a development in the same way: In software development, the final design is already the product, in hardware and mechanics it is the starting point of production. We sketch the Scrum extension Scrum CPS by showing how Scrum could be used to develop all design artefacts for a cyber physical system. Hardware and mechanical parts that might not be available yet are simulated. With this approach, we can directly and iteratively build the final software and produce detailed models for the hardware and mechanics production in parallel. We plan to further detail Scrum CPS and apply it first in a series of student projects to gather more experience before testing it in an industrial case study.
  • Thumbnail Image
    ItemOpen Access
    Entwicklung eines Systems zur kontinuierlichen Integration für autonome Roboter
    (2015) Wenz, Kevin
    Autonome Roboter basieren auf dem komplexen Zusammenspiel vieler Sensoren. Dieses Zusammenspiel muss durch Software beobachtet und geregelt werden. Damit Roboter sich autonom - ohne ständige Überwachung - bewegen können, muss die Software ihre Funktion fehlerfrei ausführen. Um dies zu unterstützen, wurde im Rahmen dieser Arbeit ein Continuous Delivery-Prozess entwickelt. Dieser Prozess sieht vor, dass die Software des Roboters "ständig" und automatisiert geprüft wird. Ein besonderer Fokus lag dabei auf der Entwicklung eines Funktionstestsystems für Robotersoftware. Dieses Testsystem führt Testfälle aus, die auf Basis von Szenarien, bestehend aus einer Aufgabe, einem Kontext und mehreren Metriken, modelliert werden. Am Ende wurde der Nutzen des Testsystems durch Robotersoftware-Entwickler evaluiert.
  • Thumbnail Image
    ItemOpen Access
    Analysis and simulation of scheduling techniques for real-time embedded multi-core architectures
    (2014) Das, Sanjib
    In this modern era of technological progress, multi-core processors have brought significant and consequential improvements in the available processing potential to the world of real-time embedded systems. These improvements impose a rapid increment of software complexity as well as processing demand placed on the underlying hardware. As a consequence, the need for efficient yet predictable multi-core scheduling techniques is on the rise. As part of this thesis, in-depth research of currently available multi-core scheduling techniques, belonging to both partitioned and global approaches, is done in the context of real-time embedded systems. The emphasis is on the degree of their usability on hard real-time systems, focusing on the scheduling techniques offering better processor affinity and the lower number of context switching. Also, an extensive research of currently available real-time test-beds as well as real-time operating systems is performed. Finally, a subset of the analyzed multi-core scheduling techniques comprising PSN-EDF, GSN-EDF, PD$^{2}$ and PD$^{2*}$ is simulated on the real-time test-bed LITMUS$^{RT}$.
  • Thumbnail Image
    ItemOpen Access
    Automatisierte Transformation von Daten aus Software Repositories und ihre Vorbereitung für Data Mining
    (2015) Lehmann, Simon
    Bei dem Prozess der Softwareentwicklung werden viele verschiedene Dokumente und Daten erstellt, die wichtig für das Projekt sind, aber gleichzeitig nicht zu dem Programmcode gehören. Seien es die Arbeitspakete jedes einzelnen Entwicklers, die Dokumentationen zur Einarbeitung in einzelne Themengebiete und Testfälle oder auch Metadaten der Versionsverwaltung. Diese Daten sollen eingelesen, verarbeitet und in eine Datenbank gespeichert werden, damit sie danach analysiert und ausgewertet werden können. Der Prozess der Transformation soll mithilfe von Datenströmen durchgeführt werden, ohne dass weitere Dateien erstellt werden können. Im Rahmen dieser Bachelorarbeit wurde ein Programm entwickelt, welches die Daten von drei bestehenden Formaten erfasst, verarbeitet und abspeichert. Dazu wurde analysiert mit welchem Verfahren die Transformationen durchgeführt wurden und wie der gewünschte Ablauf funktionieren sollte. Aus diesen Informationen ist ein Konzept für das Programm entstanden und aus diesem wurde die Software entwickelt wurde. Das komplette Programm ist bisher für Datentransformation von Metadaten eines Repositories und Datenformate wie CSV-Dateien konstruiert. Dabei werden alle Transformationen in einer MySQL-Datenbank gespeichert. Ein wichtiger Aspekt des Konzepts ist die Erweiterbarkeit. Es sollen noch weitere Formate transformiert werden können und deswegen muss das Programm leicht erweitert sein.
  • Thumbnail Image
    ItemOpen Access
    Detecting anomalies in system log files using machine learning techniques
    (2014) Zwietasch, Tim
    Log files, which are produced in almost all larger computer systems today, contain highly valuable information about the health and behavior of the system and thus they are consulted very often in order to analyze behavioral aspects of the system. Because of the very high number of log entries produced in some systems, it is however extremely difficult to find relevant information in these files. Computer-based log analysis techniques are therefore indispensable for the process of finding relevant data in log files. However, a big problem in finding important events in log files is, that one single event without any context does not always provide enough information to detect the cause of the error, nor enough information to be detected by simple algorithms like the search with regular expressions. In this work, three different data representations for textual information are developed and evaluated, which focus on the contextual relationship between the data in the input. A new position-based anomaly detection algorithm is implemented and compared to various existing algorithms based on the three new representations. The algorithms are executed on a semantically filtered set of a labeled BlueGene/L log file and evaluated by analyzing the correlation between the labels contained in the log file and the anomalous events created by the algorithms. The results show, that the developed anomaly detection algorithm generates the most correlating set of anomalies by using one of the three representations.
  • Thumbnail Image
    ItemOpen Access
    Model counting of string constraints for probabilistic symbolic execution
    (2016) Noller, Yannic
    Probabilistic symbolic execution is a static analysis technique aiming at quantifying the probability of a target event occurring during a program execution; it exploits symbolic execution to identify the conditions on the program inputs leading to the occurrence of the target event and then model counting to quantify their probability. While efficient methods exist for model counting of numeric constraints, only limited results have been obtained for counting string constraints. The constraints are indeed first encoded in a corresponding accepting automaton; then the number of accepting paths of the automaton is quantified via a convenient generating function. The encoding in the form of automata limits the expressiveness of the formalism used for constraint specification to constructs mappable into automata, for an exact model count. Furthermore, the encoding of disjunctions requires the parallel composition of the automata representing the disjuncts, leading to an exponential growth in the size of the resulting automata. This thesis introduces the usage of SMT solvers to count the models of a string constraint by leveraging a standard smtlib interface. Several algorithms for both exact and approximate model counting of string constraints are defined and compared. The different solutions are implemented on top of the SMT solver CVC4 and evaluated on a set of established benchmarks, demonstrating the increased expressiveness with respect to previous approaches and improved performance on several classes of problems.