+ All Categories
Home > Documents > Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin...

Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin...

Date post: 05-Apr-2015
Category:
Upload: willafried-raff
View: 108 times
Download: 3 times
Share this document with a friend
23
Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung
Transcript
Page 1: Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung.

Qualitätssicherung von Software (SWQS)

Prof. Dr. Holger Schlingloff

Humboldt-Universität zu Berlinund

Fraunhofer FOKUS

21.5.2013: Modellprüfung

Page 2: Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung.

Folie 2H. Schlingloff, Software-Qualitätssicherung

Fragen zur Wiederholung

• Was ist ein Modell, ein Transitionssystem, ein endlicher Automat?

• Unterschied Systemmodell – Testmodell?

• Testgenerierung aus UML State Machines: Testziele und Überdeckungskriterien?

• Was versteht man unter einer Transition Tour?

• Wie kann man die Effektivität einer Testsuite nachweisen?

Page 3: Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung.

Folie 3H. Schlingloff, Software-Qualitätssicherung

Wo stehen wir?

1. Einleitung, Begriffe, Software-Qualitätskriterien2. Softwaretest3. Verifikation und Validierung, Modellprüfung4. statische und dynamische Analysetechniken5. Softwarebewertung, Softwaremetriken6. Codereview- und andere Inspektionsverfahren7. Zuverlässigkeitstheorie, Fehlerbaumanalyse8. Qualitätsstandards, Qualitätsmanagement,

organisatorische Maßnahmen

Page 4: Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung.

Folie 4H. Schlingloff, Software-Qualitätssicherung

• Sprachgebrauch im V-Modell Verifikation: Vergleich des Ergebnisses eines

Entwicklungsschritts mit dem vorherigen Validierung: Vergleich des analytischen Artefaktes mit dem

entsprechenden synthetischen Artefakt

• alternativer Sprachgebrauch Verifikation = formaler Beweis

(„entspricht der Code der Spezifikation?“) Validierung = informelle Überprüfung

(„entspricht die Spezifikation den Anforderungen?“)

Verifikation und Validierung

Validierung

Verifikation

Page 5: Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung.

Folie 5H. Schlingloff, Software-Qualitätssicherung

Techniken für V&V

•Validierung Requirements Engineering, strukturierte Analyse Konsistenz- und Vollständigkeitsprüfung Schablonentechnik, systematische Fragebögen …

•Verifikation Hoare-Kalkül, mathematische Programmbeweise Modellprüfung, Erreichbarkeitsgraphen interaktive Abstraktions/Verfeinerungsbeweise …

Page 6: Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung.

Folie 6H. Schlingloff, Software-Qualitätssicherung

Modellprüfung

• Überprüfung eines formalen Modells des Systems gegenüber einer formalen Spezifikation der Anforderungen

• vollautomatisch für zustandsendliche Systeme

• Modellierung: Automaten, Petrinetze, StateCharts, SDL, …• Spezifikation: temporale Logik, Erreichbarkeit,

Verklemmungsfreiheit, …

Page 7: Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung.

Folie 7H. Schlingloff, Software-Qualitätssicherung

Beispiel (nuSMV)

Page 8: Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung.

Folie 8H. Schlingloff, Software-Qualitätssicherung

Ein Spielbeispiel

• Wie viele erreichbare Zustände gibt es?

• Wie kann man feststellen, ob ein Zustand erreichbar ist?

Page 9: Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung.

Folie 9H. Schlingloff, Software-Qualitätssicherung

Coding in SMV

Page 10: Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung.

Folie 10H. Schlingloff, Software-Qualitätssicherung

Coding in SMV (cont.)

• SMV findet sofort eine Lösung (rrddlluurrddlluurrddlluurrdd)

• Lola (Humboldt Univ.) ist sogar noch schneller

• für 3*4 gut machbar, 4*4 machbar, 5*5 nicht machbar (1025)

Page 11: Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung.

Folie 11H. Schlingloff, Software-Qualitätssicherung

Ein Hardware-Beispiel

• gibts vielleicht noch besser (color)

Page 12: Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung.

Folie 12H. Schlingloff, Software-Qualitätssicherung

Verifikationsmodell des Schieberegisters

Page 13: Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung.

Folie 13H. Schlingloff, Software-Qualitätssicherung

Reale Beispiele

•Hardware-Verifikation: Stand der Technik ALUs, PLAs, Memory Controller, Chip

Design, ...

•Software-Verifikation: Stand der Forschung Luftfahrtcomputer, Zugsteuerungen,

Automobil-Steuergeräte, nichttriviale Suchprobleme, ...

http://www-2.cs.cmu.edu/~modelcheck/tour.htm

Page 14: Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung.

Folie 14H. Schlingloff, Software-Qualitätssicherung

Another Example: Ivor Spence’s Sudoku

http://www.cs.qub.ac.uk/~I.Spence/SuDoku/sudoku.jar

Page 15: Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung.

Folie 15H. Schlingloff, Software-Qualitätssicherung

How Does He Do It?

• Propositional modelling 9 propositions per cell: proposition “ijk” indicates that row i,

column j contains value k individual cell clauses

- each cell contains exactly one value (ij1 v ij2 v … v ij9) ^ ~(ij1 ^ ij2) ^ … ^ ~(ij8 ^ ij9)

row and column clauses- each row i contains each number, exactly once

(i11 v … v i91) ^ (i12 v … v i92) ^ … (i19 v … v i99) j1 j2, k=1..9: ~(ij1k ^ ij2k)

- same for columns block clauses – similar pre-filled cells – easy

• SAT solving 729 propositions, ca. 3200 clauses few seconds

Page 16: Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung.

Folie 16H. Schlingloff, Software-Qualitätssicherung

Propositional verification

• In order to validate a system, we need to represent the transition relation.

•The representation is of utmost importance for the success of a verification attempt

•Algorithms and data structures are heavily dependent onto each other

•Needed: representation of sets, relations, boolean formulas, ...

Page 17: Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung.

Folie 17H. Schlingloff, Software-Qualitätssicherung

Binary Encoding of Domains

• Any variable on a finite domain D can be replaced by log(D) binary variables similar to encoding of data types by compilers e.g. var v: {0..15} can be replaced by

var v1,v2,v3,v4: boolean(0=0000, 1= 0001, 2=0010, 3=0011, ..., 15=1111)

• State space still in the order of original domain! e.g. three int8-variables can have 224=108 states e.g. buffer of length 10 with 10-bit values 1030

states

• Representation of large sets of states?

Page 18: Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung.

Folie 18H. Schlingloff, Software-Qualitätssicherung

Representation of Sets

Page 19: Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung.

Folie 19H. Schlingloff, Software-Qualitätssicherung

Ordered Tree Form

•Normal form for propositional formulas

•Uses only the connective Ite

•Linear ordering on the set of propositions e.g., most significant bit first

•Shannon expansion

Page 20: Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung.

Folie 20H. Schlingloff, Software-Qualitätssicherung

Truth table and tree form formula

Reduction: Replace Ite (v,ψ,ψ) by ψ

Page 21: Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung.

Folie 21H. Schlingloff, Software-Qualitätssicherung

Abbreviations

• Introduce abbreviations

•maximally abbreviated

Page 22: Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung.

Folie 22H. Schlingloff, Software-Qualitätssicherung

Binary Decision Trees (BDTs)

•Binary decision tree

•Elimination ofisomorphic subtrees(abbreviations)

Page 23: Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS 21.5.2013: Modellprüfung.

Folie 23H. Schlingloff, Software-Qualitätssicherung

Binary Decision Diagrams (BDDs)

• Elimination ofredundant nodes(redundant subformulas) Ite (v,ψ,ψ) by ψ


Recommended