VEZS 7,5 ECTS - August 2017\\ Prüfer: Peter Ulbrich\\ Beisitzer: Peter Waegemann\\ Dauer: 30 Minuten\\ Note: 1,0 (mit Uebungsbonus)\\ \\ Allgemein:\\ Die Atmosphäre war entspannt. Wenn man nicht weiterkommt werden einem kleine Hinweise gegeben und dann kommt man meist drauf worauf der Prüfer hinaus will. \\ Man kann seine Antworten relativ ausführlich gestalten ohne das man unterbrochen wird und damit mit den Themen, bei denen man sich gut auskennt etwas Zeit schinden.\\ Hinweis: Keine Gewähr auf Richtigkeit und Vollständigkeit ;)\\ Die Fragen: * Grundlagen (VEZS: Fokus auf Fehler):\\ * Was ist ein Fehler? \\ grobe Definition * Typen von Fehlern? \\ permanent, sporadisch, transient * Fehlerkette und Fehlerfortpflanzung?\\ Fault error failure Fehlerfortpflanzung muss nicht zu failure führen zeitlich versetztes Auftreten des failures möglich * Sie wollen ein verlässliches Echtzeitsystem Bauen. Wie geht man vor?\\ Robustheit: Redundanz & Codierung * Wofür jeweils eingesetzt?\\ Verlässlichkeit: Verlässliche Entwicklung Richtlinien Dynamisches Testen formale Verifikation * Wie kann man System Testen?\\ Dynamisches Testen: Testet Programm Blackbox vs. Whitebox vs. Greybox Tests * Vorteile & Nachteile? Wann wird was eingesetzt?\\ Fehlerinjektion (will er hier nicht unbedingt hören): * Wichtig: Was testet Fehlerinjektion?\\ Toleranzmaßnahmen! * Wie lässt sich ein getestetes Programm einem Kunden verkaufen?\\ * Überdeckungskriterien und Testanzahl (Testanzahl weniger aussagekräftig) benennen\\ * Wäre es mir lieber wenn der Kunde das System durch mich getestet oder statisch Analysiert haben will?\\ Testen kann uns nur Vertrauen geben, Sicherheit nur durch formale Verifikation * Was gibt es dann für Möglichkeiten neben dem Testen?\\ Formale Verifikation statische Programmanalyse durch abstrakte Interpretation Was bringt einem die Abstraktion?\\ Welches sind entscheidende Zielgrößen bei Abstrakter Interpretation Darstellung und Erklärung der Sammelsemantik (anhand Skizze) Bsp: Wie arbeitet Astreé? Einzeichnen von Asserts und Known-Facts (Skizze) * Gibt es auch unsichere Tools?\\ Ja, Clang Static Analyser: unsicherer Ansatz -> im Endeffekt nicht viel besser als Testen