Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.

Ähnliche Präsentationen


Präsentation zum Thema: "Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST."—  Präsentation transkript:

1 Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST

2 Folie 2 H. Schlingloff, Software-Qualitätssicherung 7.1.2004 3. Verifikation und Validierung Binary Decision Trees (BDTs) Binary decision tree Elimination of isomorphic subtrees (abbreviations)

3 Folie 3 H. Schlingloff, Software-Qualitätssicherung 7.1.2004 3. Verifikation und Validierung Binary Decision Diagrams (BDDs) Elimination of redundant nodes (redundant subformulas) Ite (v,ψ,ψ) by ψ

4 Folie 4 H. Schlingloff, Software-Qualitätssicherung 7.1.2004 3. Verifikation und Validierung Calculation of BDDs

5 Folie 5 H. Schlingloff, Software-Qualitätssicherung 7.1.2004 3. Verifikation und Validierung Boolean operations on BDDs

6 Folie 6 H. Schlingloff, Software-Qualitätssicherung 7.1.2004 3. Verifikation und Validierung Generally This procedure can be applied for arbitrary boolean connectives (or, and, not)  this amounts to set union, intersection, and complement with respect to the base set Substitution by constants is trivial Boolean quantification:

7 Folie 7 H. Schlingloff, Software-Qualitätssicherung 7.1.2004 3. Verifikation und Validierung Binary Encoding of Relations A relation is a subset of the product of two sets  Thus, a relation is nothing but a set Example: var v: {0..3}, w:{0..7}; var v0, v1, w0, w1, w2: boolean; “divides”-Relation: v divides w iff v=1, or v=2 and w even, or v=3 and w in {0,3,6} boolean formula: 01234567 0-------- 1++++++++ 2+-+-+-+- 3+--+--+-

8 Folie 8 H. Schlingloff, Software-Qualitätssicherung 7.1.2004 3. Verifikation und Validierung The Influence of Variable Ordering

9 Folie 9 H. Schlingloff, Software-Qualitätssicherung 7.1.2004 3. Verifikation und Validierung Transitive Closure Each finite (transition) relation can be represented as a BDD The transitive closure of a relation R is defined recursively by Thus, transitive closure be calculated by an iteration on BDDs

10 Folie 10 H. Schlingloff, Software-Qualitätssicherung 7.1.2004 3. Verifikation und Validierung Reachability State s is reachable iff s 0 R*s, where s 0  S 0 is an initial state and R is the transition relation Reachability is one of the most important properties in verification  most safety properties can be reduced to it  in a search algorithm, is the goal reachable? Can be arbitrarily hard  for infinite state systems undecidable Can be efficiently calculated with BDDs

11 Folie 11 H. Schlingloff, Software-Qualitätssicherung 7.1.2004 3. Verifikation und Validierung Pause! (ein Screenshot)

12 Folie 12 H. Schlingloff, Software-Qualitätssicherung 7.1.2004 3. Verifikation und Validierung Logical Languages, Expressiveness So far, we’ve been doing validation of systems without using anything but propositional logic! It is more interesting (though not necessarily more practical) to consider more expressive logics Dilemma:

13 Folie 13 H. Schlingloff, Software-Qualitätssicherung 7.1.2004 3. Verifikation und Validierung Models A model M is a graph consisting of  a set of nodes U (universe)  a transition relation R between nodes - transitive closure of R denoted by <  an initial node w 0  an assignment I of propositions to nodes p q p,q

14 Folie 14 H. Schlingloff, Software-Qualitätssicherung 7.1.2004 3. Verifikation und Validierung Temporal logic “Modal logic with ‘until’”

15 Folie 15 H. Schlingloff, Software-Qualitätssicherung 7.1.2004 3. Verifikation und Validierung Examples

16 Folie 16 H. Schlingloff, Software-Qualitätssicherung 7.1.2004 3. Verifikation und Validierung Other connectives

17 Folie 17 H. Schlingloff, Software-Qualitätssicherung 7.1.2004 3. Verifikation und Validierung Linear and Branching Time Logics

18 Folie 18 H. Schlingloff, Software-Qualitätssicherung 7.1.2004 3. Verifikation und Validierung Semantics of CTL

19 Folie 19 H. Schlingloff, Software-Qualitätssicherung 7.1.2004 3. Verifikation und Validierung CTL Examples

20 Folie 20 H. Schlingloff, Software-Qualitätssicherung 7.1.2004 3. Verifikation und Validierung Model Checking

21 Folie 21 H. Schlingloff, Software-Qualitätssicherung 7.1.2004 3. Verifikation und Validierung

22 Folie 22 H. Schlingloff, Software-Qualitätssicherung 7.1.2004 3. Verifikation und Validierung

23 Folie 23 H. Schlingloff, Software-Qualitätssicherung 7.1.2004 3. Verifikation und Validierung Comparison CTL model checking  uses sets, breath-first search  can be directly implemented with BDDs  systems: e.g. nuSMV LTL model checking  depth-first search, enumerates states  implementation allows state-space hashing, partial order reduction etc.  systems: e.g. SPIN


Herunterladen ppt "Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST."

Ähnliche Präsentationen


Google-Anzeigen