Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Konstantin Zahniser Geändert vor über 10 Jahren
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
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.