Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer."—  Präsentation transkript:

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

2 Folie 2 H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme Achtung Headhunting! Sehr geehrter Herr Prof. Dr. Schlingloff, rechtzeitig zum Semesterende bieten wir Ihren Studierenden jetzt schon unsere exklusiven CareerVenture Recruiting-Veranstaltungen für dem Herbst 2011 an. Diese Events richten sich an Studierende, Absolventen, Doktoranden und Young Professionals aller Studiengänge und bieten die einzigartige Möglichkeit, an nur einem Tag mehrere vorterminierte, 45-minütige Einzelinterviews mit Vertretern der attraktivsten Arbeitgeber Deutschlands zu führen. Für eingeladene Kandidaten ist die Teilnahme kostenlos; die Anfahrt und Übernachtung wird im Rahmen des Sponsoringprogramms finanziell unterstützt. Die Bewerbung erfolgt online über CareerVenture information technology spring: 07. Oktober 2011 in Berlin Bewerbungsschluss: 14. September.2011 Bisher teilnehmende Unternehmen: Capgemini, Deloitte, Platinion, Senacor Technologies, Deutsche Telekom, u.a.

3 Folie 3 H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme Verifikation was passiert hier?

4 Folie 4 H. Schlingloff, SS2011 – 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

5 Folie 5 H. Schlingloff, SS2011 – 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 ?

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

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

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

9 Folie 9 H. Schlingloff, SS2011 – 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

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

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

12 Folie 12 H. Schlingloff, SS2011 – 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!

13 Folie 13 H. Schlingloff, SS2011 – 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)

14 Folie 14 H. Schlingloff, SS2011 – 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

15 Folie 15 H. Schlingloff, SS2011 – 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

16 Folie 16 H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme Modellprüfung Überprüfung eines formalen Modells des Systems gegenüber einer formalen Spezifikation der Anforderungen vollautomatisch für zustandsendliche Systeme Modellierung: UML State Machines, Stateflow, … Spezifikation: temporale Logik, Erreichbarkeit, Verklemmungsfreiheit, …

17 Folie 17 H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme bekannte Model-Checker SMV, nuSMV, Cadence SMV (CTL) SPIN, COSPAN (LTL) FDR, μCRL (Prozessalgebra) UPPAAL, Kronos, Rabbit (Realzeit) Reactis, Simulink Verifier (Simulink) HyTech (hybride Systeme) CBMC (bounded Model Checker for C/C++ programs) Java Pathfinder (für Java Bytecode)...

18 Folie 18 H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme Beispiel (SMV)

19 Folie 19 H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme Vorlesung im WS! Software-Verifikation 1 2 SWS 4 SP VL Do wöch. RUD25, H. Schlingloff UE Do wöch. RUD25, J. Gerlach Je mehr Software in sicherheitskritischen Systemen eingesetzt wird, umso wichtiger wird es, ihre Korrektheit objektiv nachzuweisen. Beispiele sind Signalisierungsanlagen in der Bahntechnik, Steuercomputer in Flugzeugen oder Regelungen medizinischer Geräte. In den letzten Jahren sind formale Verifikations- und Analysemethoden für solche Software so weit entwickelt worden, dass sie auch für industriell relevante Probleme einsetzbar geworden sind. Der Einsatz dieser Methoden wird von den einschlägigen Normen für hochgradig sicherheitsrelevante Software dringend empfohlen. Dieser Modul gibt einen Überblick über die wichtigsten formalen Methoden zur Software- Verifikation.

20 Folie 20 H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme Zu den Prüfungen Jetzt gibts ein paar streng geheime Tipps... Prüfungen (nach Möglichkeit) am 5. Sept. Ausweichtermin Anmeldung bei Frau Heene Vorbereitungstreffen :00 Raum Lösungen mitbringen!

21 Folie 21 H. Schlingloff, SS2011 – modellbasierte Software-Entwicklung eingebetteter Systeme Schöne Ferien!


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

Ähnliche Präsentationen


Google-Anzeigen