Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

der Universität Oldenburg
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Eingebettete Systeme Qualität und Produktivität
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software-Entwicklung eingebetteter Systeme
Eingebettete Systeme Qualität und Produktivität
Prof. Dr. Holger Schlingloff
Qualitätssicherung von Software (SWQS)
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Prof. Dr. Holger Schlingloff
Eingebettete Systeme Qualität und Produktivität
Qualitätssicherung von Software (SWQS)
Qualitätssicherung von Software (SWQS)
Modellbasierte Software-Entwicklung eingebetteter Systeme
Zusammenfassung der Vorwoche
Lineare Suche Divide-and-Conquer-Suche Kombinationssuche
3. Berechenbarkeit Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar? Intuitiv: Wenn es einen Algorithmus gibt, der sie berechnet! Was heißt,
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2012.
der Universität Oldenburg
Spec# Proseminar Assertions im SS 2007 Uni Paderborn Andreas Martens Betreuer: Dipl. Inform. Björn Metzler.
Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS : Software Model Checking.
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Qualitätssicherung von Software
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Prof. Dr. Holger Schlingloff
Management großer Softwareprojekte - Auswertung der Fragebögen - Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin, Institut für Informatik Fraunhofer.
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Management großer Softwareprojekte Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin, Institut für Informatik Fraunhofer Institut für Rechnerarchitektur.
Software Verification 2 Automated Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität and Fraunhofer Institut für.
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Prinzipien des Algorithmenentwurfs Backtracking Prof. Dr. Th. Ottmann
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 2 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Algorithmen und Datenstrukturen
Symbolisches Model Checking mit Binary Decision Diagrams
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 7 Claudio Moraga, Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Imperative Programmierung
Semantische Fehler Seminar im Grundstudium WS2002/2003:
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
Tino Reindanz - FSU Jena Seminar Aktive Datenbanken – SS 2007 Folie 1 Seminar Aktive Datenbanken Rule Development Rule Development for Active Database.
Types and Programming Languages: Einführung Typen SWT Seminar WS 05/06
Zentralübung Automotive Software Engineering – Übungsblatt 8
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Einführung in die Programmierung
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
Prozess-synchronisation
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software-Entwicklung eingebetteter Systeme
Integritätserhaltung und -Überprüfung in deduktiven Datenbanken
Diskrete Mathematik II
Algorithmen und Datenstrukturen 1 SS 2002
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Berechenbarkeit Klaus Becker Berechenbarkeit.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Einführung in die Programmierung mit Java
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Rechnen mit negativen Klammern
Software Verification 2 Automated Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität and Fraunhofer Institut für.
Funktionen (Zweck und Eigenschaften) Funktionen sind Unterprogramme, die einen bestimmten Zweck erfüllen Sie zerlegen Probleme in kleine, abgeschlossene.
 Präsentation transkript:

Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für offene Kommunikationssysteme FOKUS

Folie 2 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme andere Verifikationsverfahren was passiert hier?

Folie 3 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Statische Analyse aus Programmiersprachen bekannt  z.B. Java: Initialisierung von Variablen wird geprüft  int k; if (terminates(TMi,i)) k=0;... ???  Terminierung nicht garantiert; Abstraktion! was finden statische Analysatoren?  Range and Bounds Checker  Pointer and Storage Allocation  Race Conditions

Folie 4 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Statische Analyse: Compiler Typkorrektheit Initialisierung von Variablen Programmflussgraph  Unerreichbarer Code  Unveränderliche Felder  Konstante Terme und Bedingungen Feldgrenzenverletzung ? Nullzeiger-Dereferenzierung ? Synchronisationsfehler ?

Folie 5 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme statische Analysewerkzeuge Spezialwerkzeuge zur tiefergehenden Analyse  Lint (Splint, PCLint,…)  PolySpace Verifier  … Unterschiedliche Analysetiefe, unterschiedliche Ergebnisrate Problem: false positives

Folie 6 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Lint Grundidee  Programmierer annotiert das Programm  Lint prüft ob Annotationen erfüllt sind Einfache (schnelle!) Datenflussanalyse! Beispiel:

Folie 7 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Buffer Overflow Verantwortlich für viele Sicherheitslücken Annotation der Puffergröße in Splint

Folie 8 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Abstrakte Interpretation Wie beweist man solche Constraints?  Ausführung des Programms mit symbolischen Werten (bzw. „Mengen von Werten“)  Berechnung der möglichen Werte jeder Variablen an jeder Programmstelle („collecting semantics“) Was kann man daraus ableiten?  Initialisierungen, Überlauf, Division durch Null, Indexüberschreitung, …  Keine Aussage über Terminierung oder korrekte Funktionalität

Folie 9 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Beispiel {x  {2,4,6}} x=3*x+1 {x  {7,13,19}}

Folie 10 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme allgemeine Vorgehensweise ergibt ein (rekursives) Gleichungssystem Lösung als kleinster Fixpunkt

Folie 11 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Probleme Terminierung des Verfahrens ist nicht garantiert! (Limesbildung über transfinite Ordinalzahlen) Rechnen mit symbolischen Zustandsmengen  z.B. Menge der Quadratzahlen, symbolische Ausdrücke wie x 2 +3x+5 usw.  Gleichheit von beliebigen Mengenausdrücken unentscheidbar!

Folie 12 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Abstraktion Beispiel  x*y=z  (x mod n * y mod n ) mod n = z mod n „mod n“ ist eine Abstraktion, die einen unendlichen Wertebereich auf {0,1,...,n-1} abbildet um zu prüfen, ob eine Multiplikation korrekt ausgeführt wurde, kann man die Abstraktion prüfen  8*7=56  2 * 1 = (8 mod 3 * 7 mod 3 ) mod 3 = 56 mod 3  (8 mod 3 * 7 mod 3 ) mod 3  57 mod 3  8*7  57  aber: 8*7  65, obwohl (8 mod 3 * 7 mod 3 ) mod 3 = 65 mod 3 „false positives“: Der abstrakte Check findet keinen Fehler, obwohl noch einer enthalten ist (vgl. Test)

Folie 13 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme Abstraktion Datenabstraktion  x  x mod 3  x*y  ((x mod 3) * (y mod 3) mod 3) eigentlich Rechnen mit Mengen von Werten  konkreter Datenraum wird partitioniert in Mengen von Restklassen 0, 1, 2  konkrete Operationen werden abgebildet auf abstrakte; Rechnen mit Repräsentanten Eigenschaftserhaltung  C erfüllt P  A erfüllt P  A verletzt P  C verletzt P

Folie 14 H. Schlingloff, SS2014 – modellbasierte Software-Entwicklung eingebetteter Systeme statische Analyse von Modellen Polyspace Verifier: Analyse des Codes, symbolische Berechnung möglicher Fehler  Rechenzeiten im Stunden- und Tagebereich  False Negatives müssen manuell betrachtet werden  Möglichkeit von False Positives Trotzdem massive Erhöhung der Sicherheit  Initialisierung, Zeigerkonsistenz, Nulldivision, Wertebereichs- und Indexüberläufe, Speicherlecks  unerreichbarer Code, Endlosschleifen und –rekursionen Teil von Simulink Verification & Validation