Upload
annikin-womeldorf
View
105
Download
0
Embed Size (px)
Citation preview
Stefan Kauer
29.01.2013
Qualitätssicherung bei der Entwicklung sicherheitskritischer Software
© 2013 CASSIDIAN - All rights reserved Page 2
Sicherheitskritische SW / Stefan Kauer
Januar 2013
Begriff
• Fehlerhaftes Verhalten oder Ausfall des Geräts kann zu Verlust von Menschenleben oder Sachgütern von erheblichem Wert führen
• Stufen der Kritikalität (Level A, B, C, D, E oder 1,2,3 je nach Standard, z.B. flight critical, mission critical, …)
• Verschiedene Einstufungen je nach (militärischem oder zivilen) Standard
• Kritikalität bestimmt– Welche Tätigkeiten – Wie durchzuführen– Wie zu dokumentieren– Tool-Qualifikation– …
© 2013 CASSIDIAN - All rights reserved Page 3
Sicherheitskritische SW / Stefan Kauer
Januar 2013
Art der Geräte
• Elektronische Komponenten für militärische Fluggeräte (Hubschrauber, Flugzeuge, ...)
• sicherheitskritisch
• zertifiziert entsprechend Zertifizierungsprozess (bezieht sich auf ganzes Gerät: (mechanisch / elektrisch / SW / ... )
• sehr lange Betriebszeit (10-30 Jahre)– Wartung – Weiterentwicklung– Archivierung „alter" Tools / Rechner... – Single Source / Obszolesenz-Probleme / Management – …
• embedded (Entwicklungssystem Zielsystem!)
© 2013 CASSIDIAN - All rights reserved Page 4
Sicherheitskritische SW / Stefan Kauer
Januar 2013
Art der Geräte
• eingeschränkte HW aufgrund Zertifizierung und anderer Randbedingungen
• oft keine user interaction (dafür Interface zu anderem HW-Modul / -gerät)
• Zusätzlich bei Projekten im Gegensatz zu Produkten:– kundenspezifisch– special purpose - das Gerät kann nichts, was nicht benutzt wird, also nicht „universell",
„alles-in-einem“– geringe Stückzahlen (einige 100)
• …
© 2013 CASSIDIAN - All rights reserved Page 5
Sicherheitskritische SW / Stefan Kauer
Januar 2013
Avioniksystem
Main ComputerBus Controller
Device 1 Device n….
Avionic Bus
….
Redundanz bei Geräten und BusMC überwacht Geräte per BIT-MeldungMC überwachen sich gegenseitig…
© 2013 CASSIDIAN - All rights reserved Page 6
Sicherheitskritische SW / Stefan Kauer
Januar 2013
Avioniksystem
interner Bus
Gerät
Boards
© 2013 CASSIDIAN - All rights reserved Page 7
Sicherheitskritische SW / Stefan Kauer
Januar 2013
Avioniksystem
HW- CPU (GPU, DSPs, MC)- Speicher (RAM, ROM, flash, Video, spezial, ….)- FPGA, CPLD, ASIC, …- spezial HW- interner Bus- I/O-…
Board
SW- Boot-ROM- FW- Treiber- BSP- OS- Application SW-…
© 2013 CASSIDIAN - All rights reserved Page 8
Sicherheitskritische SW / Stefan Kauer
Januar 2013
Ebenen
• Avioniksystem
• Gerät
• Board
• Modul
• …
• Auf jeder Ebene gibt es Anforderungen und entsprechende Tests
© 2013 CASSIDIAN - All rights reserved Page 9
Sicherheitskritische SW / Stefan Kauer
Januar 2013
Qualität - Begriffe
• Äußere Qualität – auch Ergebnisqualität– Kunden- bzw. Benutzersicht– Erfüllung der (Kunden)Requirements bzw. der Spezifikation
• Innere Qualität – auch Struktur- und Prozessqualität– Entwicklersicht– Was sind unsere Qualitätsziele?
© 2013 CASSIDIAN - All rights reserved Page 10
Sicherheitskritische SW / Stefan Kauer
Januar 2013
Qualitätsziele / -kriterien
• Portierbarkeit (Portability)
• Performanz (Performance / Efficiency)
• Lesbarkeit (Readability)
• Wartbarkeit (Maintainability)– Fehlerspeicher
– Wartungszugänge (z.B. serielle Schnittstelle RS232)
• Änderbarkeit (Changeability)
• Zuverlässigkeit (Reliability) – Selbsttest- / Diagnose-Funktionen (PBIT, IBIT, CBIT)– Life sign / Watchdog– …
• Robustheit (Robustness)– Inputs prüfen
• Sicherheit (Safety / Security)
• Wiederverwendbarkeit (Reusability)
© 2013 CASSIDIAN - All rights reserved Page 11
Sicherheitskritische SW / Stefan Kauer
Januar 2013
Qualitätsziele / -kriterien
• Testbarkeit (Testability)
• Verwendbarkeit (Usability)
teilweise widersprechende Ziele
Priorisierung nötig Bei jeder Designentscheidung alle Kriterien bewerten (Qualitätsbewusstsein)
• Compliance: Dokumentation muss mit Gerät übereinstimmen– „Fehler zugeben“ - concession / deviation– nicht erfüllbare Requirements nennen
© 2013 CASSIDIAN - All rights reserved Page 12
Sicherheitskritische SW / Stefan Kauer
Januar 2013
Maßnahmen zur Qualitätssicherung
• Standardisierung in allen Entwicklungsphasen– Planung– Projektmanagement– Requirements Engineering– Architektur / Design– Implementierung (coding-Standards)– Tests / Abnahmen– Problem- und Änderungs-Management– Konfigurations-Management (Versionen / HW / SW / Konfig.-Stand / Umgebung / …)– Dokumentation / Archivierung
© 2013 CASSIDIAN - All rights reserved Page 13
Sicherheitskritische SW / Stefan Kauer
Januar 2013
Maßnahmen zur Qualitätssicherung
• Prozessorientierung– In house Standard, z.B. V-Modell (tailoring), flyXT– Von customer / purchaser, z.B. EFA-Standard– Übergreifend, z.B. DO178B, DoD-STD-2167A
• Reviews auf allen Ebenen und in allen Phasen
• Traceability („Verfolgbarkeit“, „Durchgängigkeit“)– Zwischen Requirements der Ebenen n und n+1– Zwischen Tests und Requirements der Ebene n – Zwischen Requirements der niedrigsten Ebene (low level Requirements) und
Implementierung– Zwischen Änderung der Implementierung und Change Request oder Problem Report– …
© 2013 CASSIDIAN - All rights reserved Page 14
Sicherheitskritische SW / Stefan Kauer
Januar 2013
Test / Integration / Abnahme
• SW-Module– Entwickler-Tests– Unit Tests (White Box Tests) – nach Testplan, möglichst automatisiert -> Code
Coverage Ziel: bis zu 100% (je nach Kritikalität) mit Code Inspection– Code Walk Through -> Einhaltung der Codier-Regeln
• Integration der SW-Module auf Board– freie Tests– Requirement based tests (black box tests) - nach Testplan, möglichst automatisiert
(traceability)– Test für jeden gefixten Fehler durchführen
• Integration der boards im Gerät– freie Tests– Requirement based tests (black box tests) - nach Testplan, möglichst automatisiert– Formale Abnahme (konfigurierte Testdaten u. -umgebung / Protokoll
• Integration der Geräte in Avioniksystem
© 2013 CASSIDIAN - All rights reserved Page 15
Sicherheitskritische SW / Stefan Kauer
Januar 2013
Fehlerbehandlung
• Formale Erfassung / Verfolgung / Bearbeitung
• Toolgestützt
• Integriert mit Versionskontrollsystem
• Vorgehen1. Ist es ein Fehler? Welches Requirement ist verletzt?2. Reproduzieren3. Analysieren3. Eventuell reparieren, Testfall entwickeln, testen, dokumentieren
© 2013 CASSIDIAN - All rights reserved Page 16
Sicherheitskritische SW / Stefan Kauer
Januar 2013
Fehlerverfolgung
open
occurance
describe / assign
new
accept
accepted
reassign
reject
closedreopen
fix
fixedverify
verify not fixed
© 2013 CASSIDIAN - All rights reserved Page 17
Sicherheitskritische SW / Stefan Kauer
Januar 2013
Tools
• Requirements-Engineering
• Design / Codegen (?)
• Versions- Konfigurationskontrolle mit integrierter Fehlerverfolgung
• Compiler
• Coverage (Testabdeckung Unit Test)
• Coding Standard Checker
• Re-Engineering: Erzeugung Klassen / Paket / Modul-Diagramme
• Generator für Schnittstellen-Beschreibung
• …
• Tool-Qualifikation - schwierig
© 2013 CASSIDIAN - All rights reserved Page 18
Sicherheitskritische SW / Stefan Kauer
Januar 2013
The reproduction, distribution and utilization of this document as well as the communication of its contents to others without express authorization is prohibited. Offenders will be held liable for the payment of damages. All rights reserved in the event of the grant of a patent, utility model or design.
Thank you for your attention!