Sie befinden sich hier: Termine » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 4 » vezs-2017-08   (Übersicht)

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