1 / 23

Qualitätssicherung von Software (SWQS)

Qualitätssicherung von Software (SWQS). Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS. 21.5.2013: Modellprüfung. Fragen zur Wiederholung. Was ist ein Modell, ein Transitionssystem, ein endlicher Automat? Unterschied Systemmodell – Testmodell?

dacey
Download Presentation

Qualitätssicherung von Software (SWQS)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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?

  3. Wo stehen wir? • Einleitung, Begriffe, Software-Qualitätskriterien • Softwaretest • Verifikation und Validierung, Modellprüfung • statische und dynamische Analysetechniken • Softwarebewertung, Softwaremetriken • Codereview- und andere Inspektionsverfahren • Zuverlässigkeitstheorie, Fehlerbaumanalyse • Qualitätsstandards, Qualitätsmanagement, organisatorische Maßnahmen

  4. Validierung Verifikation Verifikation und Validierung • 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?“)

  5. 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 • …

  6. 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, …

  7. Beispiel (nuSMV)

  8. Ein Spielbeispiel • Wie viele erreichbare Zustände gibt es? • Wie kann man feststellen, ob ein Zustand erreichbar ist?

  9. Coding in SMV

  10. 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)

  11. Ein Hardware-Beispiel • gibts vielleicht noch besser (color)

  12. Verifikationsmodell des Schieberegisters

  13. 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

  14. Another Example: Ivor Spence’s Sudoku http://www.cs.qub.ac.uk/~I.Spence/SuDoku/sudoku.jar

  15. 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

  16. 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, ...

  17. 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 byvar 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?

  18. Representation of Sets

  19. 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

  20. Truth table and tree form formula Reduction: Replace Ite (v,ψ,ψ) by ψ

  21. Abbreviations • Introduce abbreviations • maximally abbreviated

  22. Binary Decision Trees (BDTs) • Binary decision tree • Elimination ofisomorphic subtrees(abbreviations)

  23. Binary Decision Diagrams (BDDs) • Elimination ofredundant nodes(redundant subformulas) Ite (v,ψ,ψ) by ψ

More Related