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 27
  • 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
    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
    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
    XSTAMPP: An eXtensible STAMP platform as tool support for safety engineering
    (2015) Abdulkhaleq, Asim; Wagner, Stefan
    STPA (Systems-Theoretic Processes Analysis) is a new hazard analysis technique based on STAMP. STPA is already being used in different industrial domains (e.g. space, aviation, medical or automotive). To support the application of STPA and make using STPA more efficient, we developed an open tool called A-STPA. However, the current usage of ASTPA by safety analysts in different areas shows a number of shortcomings in terms of documenting unsafe control actions, drawing different levels of control structure diagrams, documenting the causal factors in STPA Step 2 and supporting the application of STPA in different areas. In this paper, we present an extensible STAMP platform called XSTAMPP as tool support designed specifically to serve the widespread adoption and use of STPA in different areas, to facilitate STPA application to different systems and to be easily extended to include different requirements and features. Moreover, XSTAMPP has the potential to be extended in the future to support the application of CAST for accident analysis. We believe that XSTAMPP is a useful first step toward establishing a base platform to support the application of STAMP methodologies in different domains.
  • Thumbnail Image
    ItemOpen Access
    Towards building knowledge on causes of critical requirements engineering problems
    (2015) Kalinowski, Marcos; Spínola, Rodrigo Oliveira; Conte, Tayana; Prikladnicki, Rafael; Méndez Fernández, Daniel; Wagner, Stefan
    [Context] Many software projects fail due to problems in requirements engineering (RE). [Objective] The goal of this paper is to gather information on relevant RE problems and to represent knowledge on their most common causes. [Method] We replicated a global family of RE surveys in the Brazil and used the data to identify critical RE problems and to build probabilistic cause-effect diagrams to represent knowledge on their common causes. [Results] The survey was answered by 74 different organizations, including small, medium and very large sized companies, conducting both, plan-driven and agile development. The most critical RE problems, according to those organizations, are related to communication and to incomplete or underspecified requirements. We provide the full probabilistic cause-effect diagrams with knowledge on common causes of the most critical identified RE problems online. [Conclusion] We believe that the knowledge presented in the diagrams can be helpful to support organizations in conducting causal analysis sessions by providing an initial understanding on what usually causes critical RE problems.
  • Thumbnail Image
    ItemOpen Access
    Naming the pain in requirements engineering: a design for a global family of surveys and first results from Germany
    (2015) Méndez Fernández, Daniel; Wagner, Stefan
    Context: For many years, we have observed industry struggling in defining a high quality requirements engineering (RE) and researchers trying to understand industrial expectations and problems. Although we are investigating the discipline with a plethora of empirical studies, they still do not allow for empirical generalisations. Objective: To lay an empirical and externally valid foundation about the state of the practice in RE, we aim at a series of open and reproducible surveys that allow us to steer future research in a problem-driven manner. Method: We designed a globally distributed family of surveys in joint collaborations with different researchers and completed the first run in Germany. The instrument is based on a theory in the form of a set of hypotheses inferred from our experiences and available studies. We test each hypothesis in our theory and identify further candidates to extend the theory by correlation and Grounded Theory analysis. Results: In this article, we report on the design of the family of surveys, its underlying theory, and the full results obtained from Germany with participants from 58 companies. The results reveal, for example, a tendency to improve RE via internally defined qualitative methods rather than relying on normative approaches like CMMI. We also discovered various RE problems that are statistically significant in practice. For instance, we could corroborate communication flaws or moving targets as problems in practice. Our results are not yet fully representative but already give first insights into current practices and problems in RE, and they allow us to draw lessons learnt for future replications. Conclusion: Our results obtained from this first run in Germany make us confident that the survey design and instrument are well-suited to be replicated and, thereby, to create a generalisable empirical basis of RE in practice.
  • Thumbnail Image
    ItemOpen Access
    Reduktion des Speicherverbrauchs generierter SKilL-Zustände
    (2015) Roth, Jonathan
    Die an der Universität Stuttgart entwickelte Datenbeschreibungssprache SKilL (Serialization Killer Language) bietet eine Möglichkeit, große Datenmengen sprach- und plattformunabhängig zu serialisieren. Ihre aktuelle Anbindung an die Programmiersprache Scala hat aber das Problem, dass für große Datenmengen Geschwindigkeitseinbußen durch viele Garbage Collections verursacht werden und in einigen Fällen sogar Speicherüberläufe auftreten. In dieser Arbeit werden Möglichkeiten untersucht, den Speicherverbrauch der Scala-Anbindung zu reduzieren. Der Speicherverbrauch der verschiedenen Implementierungen wird anschließend verglichen. Zu diesem Zweck wurde ein Testframework entwickelt, das die Erstellung von Tests vereinfacht und als Vorlage für entsprechende Tests in anderen Programmiersprachen verwendet werden kann.
  • Thumbnail Image
    ItemOpen Access
    Präsentation von software repository mining in Eclipse
    (2015) Cicek, Mehmet Fatih
    Software-Repositories enthalten eine Vielzahl an Informationen über die Entwicklung eines Software-Produktes. Es existieren viele Algorithmen und Techniken, um diese Repositories zu analysieren. Eine dieser Techniken ist „Frequent Itemset Mining“, die eine Data Mining Grundtechnik darstellt. Diese Technik wird eingesetzt,um gekoppelte Dateiänderungen basierend auf der Software-Historie zu analysieren. Die Ergebnisse der Analyse können den Entwicklern helfen ihre Bugfixings- oder Wartungsaufgaben viel besser und effizienter zu bewerkstelligen. Eine der Möglichkeiten ist es, die Resultate der Analyse in der IDE zu präsentieren. Ziel dieser Diplomarbeit ist es, den Prozess der Frequent-Itemset-Analyse eines Repositories durchzuführen, Algorithmen zu vergleichen, die Ergebnisse der Analyse den Entwicklern vorzustellen und anschließend diese Ergebnisse zu validieren. In diesem Zusammenhang soll zuerst die Datenbank mit den Repository Informationen mit Hilfe des SPMF Data Mining Frameworks analysiert werden. Diese Resultate dieser Analyse sollen wieder in Datenbanktabellen gespeichert werden, um sie danach im Eclipse an die Entwickler bereitzustellen. Zu diesem Zweck wurde im Rahmen dieser Diplomarbeit ein Eclipse Plug-In namens Software Repository Mining (SRM) Plug-In entwickelt. Durch den Einsatz von diesem Plug-In haben die Entwickler die Möglichkeit, die Frequent-Itemset-Analyse von diesem Plug-In aus zu starten. Bei dieser Analyse werden dann die Daten aus den Software-Repository-Datenbanken gelesen, analysiert und anschließend die Ergebnisse in eine andere Datenbanktabelle gespeichert. Zuletzt werden dann diese Ergebnisse den Entwicklern in den verschiedenen Sichten (Views) innerhalb des SRM Plug-Ins repräsentiert.
  • Thumbnail Image
    ItemOpen Access
    Automatische Zusammenfassung von Quellcode-Kommentaren
    (2015) Strobel, Patrick H.
    Softwaremodule werden in der Praxis oft nicht oder nur unzureichend spezifiziert und dokumentiert. An der Universität Stuttgart entstand daher das Dokumentationswerkzeug UniMoDoc. Soll ein bereits vorhandenes Modul in UniMoDoc nachdokumentiert werden, ist der damit einhergehende Aufwand hoch. Die Aufgabe eines Moduls hängt von den ihm untergeordneten Übersetzungseinheiten ab. Diese Arbeit nutzt diese Abhängigkeit, um aus den im Quelltext enthaltenen Kommentaren durch automatisches Zusammenfassen eine Moduldokumentation zu generieren. Diese soll den Einstieg in UniMoDoc erleichtern und als Ausgangspunkt für ein manuelles Überarbeiten oder Erweitern der Dokumentation dienen. Es werden zunächst der Kontext einer Moduldokumentation und die an sie gestellten Anforderungen vorgestellt. Ein auf der TF-IDF-Metrik und ein auf Latent Dirichlet Allocation (LDA) aufbauender Ansatz erfüllen diese Anforderungen. In einer intrinsischen Evaluation erzielt der LDA-Ansatz bessere Werte und wurde daher zu UniMoDoc hinzugefügt. Abschließend wird die auf dem LDA-Ansatz aufbauende Erweiterung extrinsisch evaluiert. Dabei zeigt sich, dass der Ansatz zufriedenstellende Zusammenfassungen generieren kann, sofern die vorhandenen Quelltextkommentare von ausreichend hoher Qualität sind.
  • Thumbnail Image
    ItemOpen Access
    Does outside-in teaching improve the learning of object-oriented programming?
    (2015) Janke, Erica; Brune, Philipp; Wagner, Stefan
    Object-oriented programming (OOP) is widely used in the software industry and university introductory courses today. Following the structure of most textbooks, such courses frequently are organised starting with the concepts of imperative and structured programming and only later introducing OOP. An alternative approach is to begin directly with OOP following the Outside-In teaching method as proposed by Meyer. Empirical results for the effects of Outside-In teaching on students and lecturers are sparse, however. We describe the conceptual design and empirical evaluation of two OOP introductory courses from different universities based on Outside-In teaching. The evaluation results are compared to those from a third course serving as the control group, which was taught OOP the "traditional" way. We evaluate the initial motivation and knowledge of the participants and the learning outcomes. In addition, we analyse results of the end- term exams and qualitatively analyse the results of interviews with the lecturers and tutors. Regarding the learning outcomes, the results show no signif- icant differences between the Outside-In and the “traditional” teaching method. In general, students found it harder to solve and implement algorithmic problems than to understand object oriented (OO) concepts. Students taught OOP by the Outside-In method, however, were less afraid that they would not pass the exam at the end of term and understood the OO paradigm more quickly. Therefore, the Outside-In method is no silver bullet for teaching OOP regarding the learning outcomes but has positive effects on motivation and interest.