05 Fakultät Informatik, Elektrotechnik und Informationstechnik
Permanent URI for this collectionhttps://elib.uni-stuttgart.de/handle/11682/6
Browse
101 results
Search Results
Item Open Access Empirical research plan: effects of sketching on program comprehension(2016) Baltes, Sebastian; Wagner, StefanSketching 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.Item Open Access A comprehensive safety engineering approach for software-intensive systems based on STPA(2015) Abdulkhaleq, Asim; Wagner, Stefan; Leveson, NancyFormal 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.Item Open Access Assessing iterative practical software engineering courses with play money(2016) Mindermann, Kai; Ostberg, Jan-Peter; Wagner, StefanChanging 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.Item Open Access Programmierung eines Tools zur Risikovisualisierung für technologiegetriebene Geschäftsmodelle(2014) Korb, TobiasIn 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.Item Open Access Scrum for cyber-physical systems: a process proposal(2014) Wagner, StefanAgile 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.Item Open Access Entwicklung eines Systems zur kontinuierlichen Integration für autonome Roboter(2015) Wenz, KevinAutonome 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.Item Open Access Analysis and simulation of scheduling techniques for real-time embedded multi-core architectures(2014) Das, SanjibIn 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}$.Item Open Access Automatisierte Transformation von Daten aus Software Repositories und ihre Vorbereitung für Data Mining(2015) Lehmann, SimonBei 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.Item Open Access Detecting anomalies in system log files using machine learning techniques(2014) Zwietasch, TimLog 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.Item Open Access Model counting of string constraints for probabilistic symbolic execution(2016) Noller, YannicProbabilistic 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.