20
Validierung einer MATLAB- Toolkette Notwendiges Übel oder Allheilmittel? 2. Juli 2019 Reinhard Jeschull, Dr. Thomas Flaig

Reinhard Jeschull, Dr. Thomas Flaig Validierung einer

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Reinhard Jeschull, Dr. Thomas Flaig Validierung einer

Validierung einer MATLAB-Toolkette Notwendiges Übel oder Allheilmittel?

2. Juli 2019

Reinhard Jeschull, Dr. Thomas Flaig

Page 2: Reinhard Jeschull, Dr. Thomas Flaig Validierung einer

Validas AG

Agenda

‣Die Validas AG

‣Grundlagen und Gründe für Validierung

‣Beispiele von Fehlern

‣Validierung einer MATLAB-Toolkette

‣ Fazit

Page 3: Reinhard Jeschull, Dr. Thomas Flaig Validierung einer

Validas AG

Agenda

‣Die Validas AG

‣Grundlagen und Gründe für Validierung

‣Beispiele von Fehlern

‣Validierung einer MATLAB-Toolkette

‣ Fazit

Page 4: Reinhard Jeschull, Dr. Thomas Flaig Validierung einer

Validas AG

Wer wir sind

4

Dr. Oscar Slotosch(Vorstand)

Dr. Peter Braun(Vorstand)

★ Ca. 40 Mitarbeiter und Studenten ausunterschiedlichen Disziplinen

★ Skalierbarkeit durch Netzwerk ausPartnerfirmen und Freiberuflern

★ Seit April 2000 Technologiedienstleisterfür eingebettete Systeme

★ Kernkompetenzen: Modellbasierung, Werkzeugqualifizierung, Methodenberatung

Page 5: Reinhard Jeschull, Dr. Thomas Flaig Validierung einer

Validas AG

Tool Chain Analysis & Documentation

(Tool) Testing & Continuous Testing

Guidance for Tool Usage

Tool Chain Management

Tool & Library Qualification

Woran wir arbeiten

Neural Nets5

Page 6: Reinhard Jeschull, Dr. Thomas Flaig Validierung einer

Validas AG

Agenda

‣Die Validas AG

‣Grundlagen und Gründe für Validierung

‣Beispiele von Fehlern

‣Validierung einer MATLAB-Toolkette

‣ Fazit

Page 7: Reinhard Jeschull, Dr. Thomas Flaig Validierung einer

Validas AG

Müssen Tools sicher sein?Ja, wenn …

• Safety Standards dies verlangen (Automobil, Eisenbahn, Luftfahrt, etc.)

§ 4 I GPSG - EU Guideline 2001/95/EG fordert Einhaltung von „harmonized standard“

(de facto ISO26262 für Automobil, etc.)

• Tool-Anwender es verlangen

• Tool-Hersteller hat den Wunsch nach Qualität

Tool Failure

ProductFault Hazard

7

Page 8: Reinhard Jeschull, Dr. Thomas Flaig Validierung einer

Validas AG

Validierung von ToolkettenTools sind nicht Teil des Produktes, haben aber Einfluss

Tool 1

Tool 4

Tool 5Tool 3

Tool 2

Tool Chain Unkritisches Tool, keinen Einfluss auf

Produkt

Möglicher Fehler

Fehler im Produkt

Tool 1

Tool 4

Tool 5Tool 3

Tool 2

Tool Chain

Erkennungs-mechanismen

8

Page 9: Reinhard Jeschull, Dr. Thomas Flaig Validierung einer

Validas AG

Validierungen in Standards

DO-178CIEC 61508

EN 50128ISO 26262

Standard?

Method?

Constructive Analysis Verification

Method?

ConstructiveVerification

Analysis

Impact?

NoYes

TD?

LowMedHigh

T3 T2 T1 TCL1 TCL2 TCL3

CfU PA ValSaSt-

Dev

Val

Safety Standard DO-330 (TQL)

Val

Impact?

No Yes

PiU

Cla

ssif

icat

ion

/Eva

luat

ion

Qu

alif

icat

ion

Pot. Failures?

Pot. Failures?

Tool OperationalRequirements?

SaSt-Dev

Pot. Failures?(TQL-Reduction)

[TQL5]

High

Unterschiedliche Standards …

… gleiche Methoden… gleiche Methoden9

Criteria 1 Criteria 2 Criteria 3

TQL1 TQL2 TQL3 TQL4 TQL5

Page 10: Reinhard Jeschull, Dr. Thomas Flaig Validierung einer

Validas AG

Agenda

‣Die Validas AG

‣Grundlagen und Gründe für Validierung

‣Beispiele von Fehlern

‣Validierung einer MATLAB-Toolkette

‣ Fazit

Page 11: Reinhard Jeschull, Dr. Thomas Flaig Validierung einer

Validas AG

Beispiele von Fehlern

11

int8 x = -3;Out = abs(x);

Expected: 3

Got: -3

Compilerbug bei Absolutbetrag

Unerwartete Optimierung „zu Gunsten der Laufzeit“

Starke Abweichungen nach einem Update (Patch-Level)

int32_T qY; qY = In1 + 1;if ((In1 > 0) && (qY <= 0)) {

qY = MAX_int32_T;}Out1 = qY;

In1 = 2147483647

(MAX_int32_T)

Expected: 2147483647

Got: -2147483648

Compiler optimiert Saturierung weg, da Overflow in C „undefined behavior“

sqrt(x)

Fehler im Mathebibliothek

Bug in Interpreter für If-Anweisung bei Template Engine

Page 12: Reinhard Jeschull, Dr. Thomas Flaig Validierung einer

Validas AG

Agenda

‣Die Validas AG

‣Grundlagen und Gründe für Validierung

‣Beispiele von Fehlern

‣Validierung einer MATLAB-Toolkette

‣ Fazit

Page 13: Reinhard Jeschull, Dr. Thomas Flaig Validierung einer

Validas AG

Die Validierungssuite

13

Ziele :

• Erfüllung der Safety-Anforderungen (z.B. ISO26262)

• Entdeckung vieler durch Tools injizierter Produkt-Fehler

• Reduktion der Fehleranalyse in Produkttests

• Vermeidung von injizierten Produkt-Fehlern durch geeignete Gegenmaßnahmen

• Reduktion von Reibungsverlusten bei Entwicklung

• Bereitstellung validierter Werkzeuge für die modellbasierte SW-Entwicklung

• Erhöhung des Vertrauens in Tool(-kette)

Page 14: Reinhard Jeschull, Dr. Thomas Flaig Validierung einer

Validas AG

Die Validierungssuite

14

Nicht-Ziele :

• Erspart explizit nicht die Absicherungsmaßnahmen für das entwickelte Produkt!

• Validierung ist notwendiges Indiz für das Vertrauen in das Werkzeug, aber keine Garantie für Fehlerfreiheit des entwickelten Produkts

• Beispiel: Numerische Stabilität des Produkts (Targetverhalten) nicht durch Validierung garantiert!

Die Validierungssuite prüft die Toolkette, aus der beliebig viele Produkte erzeugt werden können. Die Erfüllung der Anforderungen an das konkrete Produkt sind

separat zu prüfen (Produkttest).Absicherung Toolkette != Absicherung Produkt

Page 15: Reinhard Jeschull, Dr. Thomas Flaig Validierung einer

Validas AG

AUTOSAR AuthoringTool

RTE-Generator

Generierter Code

Bibliotheken(z.B. Math)

Produkt

External Code

Beispiel einer einfachen Toolkette

15

Initialwert wird falsch in Code überführt

Destruktive Anpassungen, MIL != SIL

Endlosschleife in sqrt(x) bei bestimmten

Werten

Compiler optimiert non-dead Code

Falsche Bibliothek

wird gelinktDaten falsch importiert

Generierter Code liest Variable bevor sie geschrieben wird

Generierter Code

MATLAB(Target-)Compiler

Linker

Modelle und Skripte

Codegen-Anpassungen

Page 16: Reinhard Jeschull, Dr. Thomas Flaig Validierung einer

Validas AG

Die Validierungssuite (VS)

V&V Plan V&V Bericht

Review-bericht

* ''''''

* ''''''

Anwendungs-protokoll

Analyse-reports

EW-Mängel(Issues)

Testspezifikation Analyse-reports

Testsuite

* ''''''

* ''''''

Testausführungsreports

Teststrategie Anwendungs-Handbuch

Wartungs-Handbuch

Review-Handbuch

Ausführungsplattform

Entwicklungs-plattform

Analyse-plattform

VS-EC-Anf EW-Def

VS-Prozess VS-DefQualifizierungs-

Bericht

Modellierungs-richtlinien

Archiv

Vorbereitung

VS-EntwicklungVS-Anwendung

(goldener Lauf)

Projektmanagment

Validierung &

Verifikation der VS

Nachbereitung

16

Page 17: Reinhard Jeschull, Dr. Thomas Flaig Validierung einer

Validas AG

Ergebnisse der Validierungssuite‣ Teilqualifizierungsbericht

‣ Dokumentierte Findings

‣ Vermeidungsstrategien

- Richtlinien (statisch)

- Manuelle Reviews

‣ Erkennungsstrategien

- Manuelle Reviews

- Automatisierte Prüfkriterien

- dynamische Simulationsprüfung

‣ Vorschläge für Anpassungen an Toolkette17

Page 18: Reinhard Jeschull, Dr. Thomas Flaig Validierung einer

Validas AG

Agenda

‣Die Validas AG

‣Grundlagen und Gründe für Validierung

‣Beispiele von Fehlern

‣Validierung einer MATLAB-Toolkette

‣ Fazit

Page 19: Reinhard Jeschull, Dr. Thomas Flaig Validierung einer

Validas AG

Fazit‣ Notwendiges Übel? => Nein

Validierung bietet eine standardkonforme Absicherung der Entwicklungswerkzeugkette

‣ Allheilmittel? => Jein

Durchführung des Validierungssuite-Prozesses mehrfach vom TÜV Nord abgesichert

Entdeckung vieler durch Tools injizierter Produkt-Fehler

Vermeidung von injizierten Produkt-Fehlern durch geeignete Gegenmaßnahmen

Erspart explizit nicht die Absicherungsmaßnahmen für das entwickelte Produkt

Voraussetzung: Toolkette wird, wie definiert, eingesetzt

Entwicklungsbegleitende Tests zur Absicherung bestimmter Fehlerquellen (-> numerische Stabilität) weiterhin notwendig

19

Page 20: Reinhard Jeschull, Dr. Thomas Flaig Validierung einer

Validas AG

Validas AGArnulfstraße 27

80335 MünchenFon +49 (0) 89-53 88 669-0

Fax +49 (0) 89-53 88 [email protected]

Die Validas AG ist Ihr Innovationspartner für die Einführung und Evaluierung

innovativer Methoden, Technologien und Werkzeuge.

Die Expertise der Validas umfasst Modellbasierung (UML/SysML, MATLAB

Simulink/Stateflow, AUTOSAR), Funktionssicherheit und Werkzeugqualifizierung

(ISO 26262, ISO 61508, DO 178B/C) sowie Softwarequalität (Testautomatisierung,

modellbasierte Tests, Code-Analysen).

Zu unseren Kunden zählen renommierte Firmen wie Airbus Defence and Space, Audi,

BMW, BOSCH, Carmeq, Continental, DENSO, ESG, ETAS, Infineon, Lear, MAN,

TechConnect, Texas Instruments, Valeo, Wind River.