Herzlich Willkommen beim beam-Verlag in Marburg, dem Fachverlag für anspruchsvolle Elektronik-Literatur.


Wir freuen uns, Sie auf unserem ePaper-Kiosk begrüßen zu können.

Aufrufe
vor 9 Jahren

8-2014

  • Text
  • Software
  • Embedded
  • Electronic
  • Industrial
  • Sensoren
PC & Industrie 8/2014 mit Einkaufsführer Software/Tools/Kits

new display design

new display design Displays für Mikrokontroller · I²C, SPI, RS232 · mit / ohne Touchpanel · 3,2“ bis 7,0“ · USB Eval-Kits · integrierte Grafikfunktionen · mit Speicher ELECTRONIC ASSEMBLY GmbH · Fon: +49 (0)8105/778090 · vertrieb@lcd-module.de · www.lcd-module.de

Ist Software-Sicherheit messbar? Editorial Der Trend, immer mehr Funktionen mittels Software zu realisieren, verschafft Geräteherstellern und Kunden unbestritten eine ganze Reihe von Vorteilen. Die spannende, bislang nur ansatzweise beantwortete Frage ist allerdings: Wie testet man die funktionale Sicherheit komplexer softwarebasierter Systeme, die beispielsweise in industriellen Applikationen vernetzt miteinander arbeiten und Abläufe ohne Eingriff des Menschen steuern sollen? Heiko Riessland, pls Programmierbare Logik & Systeme GmbH Fakt ist: Funktionale Sicherheit kann nicht, wie fälschlicherweise noch oft angenommen, nachträglich „hineingetestet“ werden, sondern ist das Ergebnis eines klar definierten Entwicklungsprozesses, der schon beim Design alle denkbaren bzw. relevanten Sicherheitsaspekte berücksichtigt. Nichts desto trotz benötigt funktionale Sicherheit einen Nachweis, muss also irgendwie gemessen werden. Dies erfolgt typischerweise beim Testen der Software, doch wie so oft ist auch hier die Praxis weitaus komplizierter als die Theorie verspricht. So haben sich parallel zu den normalen, sehr applikationsspezifischen Funktionstests inzwischen mehrere systematische Methoden etabliert. Die bekannteste davon ist die Messung der Code-Abdeckung (Code coverage). Damit lässt sich ermitteln, wie detailliert eine Software getestet wurde. Theoretisch stehen dafür verschiedene Testtiefen zur Verfügung. Wirklich praktikabel und von Standards wie IEC 62061 oder ISO 26262 empfohlen sind davon aber eigentlich nur die Abarbeitung aller Maschineninstruktionen (Statement Coverage), die Prüfung, ob an jeder Programmverzweigung alle Möglichkeiten durchlaufen wurden (Branch Coverage) und Modified Condition/Decision Coverage (MC/DC), also ein Test mit systematischer Variation aller verwendeten booleschen Ausdrücke. Die anderen Testtiefen werden entweder wegen zu geringer Aussagekraft (Line Coverage, Function Coverage) oder des unverhältnismäßig hohen Realisierungsaufwandes (Path Coverage) kaum verwendet. Zur Messung der Code-Abdeckung stehen im Prinzip zwei Verfahren zur Verfügung: die Instrumentierung des Programms oder die Aufzeichnung durch hardwaregestützte Methoden wie Programm-Trace. Mit der theoretisch bei allen Testtiefen hinweg anwendbaren Instrumentierung lässt sich zwar die Ausführung durch den hinzugefügten Code gut protokollieren, sie hat aber den für viele Embedded-Applikationen entscheidenden Nachteil, dass sich dadurch die Größe der Applikation und damit das Speicherlayout und das Laufzeitverhalten ändern. Ein typischerweise nicht-invasiver Programm-Trace kann hier klar punkten. Dafür ist er ohne weitere Vorkehrungen aber nur für Statement Coverage und - eingeschränkt - für Branch Coverage anwendbar. Schon bei optimiertem Code und erst recht bei MC/DC können die notwendigen Informationen mittels Programm-Trace gar nicht mehr oder wenn doch, dann nur mit sehr großem Aufwand gewonnen werden. Inzwischen ist es in einem konkreten Anwendungsfall zwar erstmals gelungen, auch auf Programm-Trace-Daten basierende Branch Coverage-Messungen an optimiertem Code ohne Einschränkungen zu ermöglichen, indem der Compiler die für die Analyse unerlässlichen Informationen über eine optimierte Programmstruktur dem Debugger zugänglich macht. Doch dies ist nur ein kleiner von noch vielen notwenigen Schritten, der zeigt, dass die Herausforderungen in puncto funktionale Sicherheit letztlich nur in enger Zusammenarbeit zwischen Anwendern und den Herstellern der Entwicklungs- und Testwerkzeuge zu meistern sind. Heiko Riessland, www.pls-mc.com PC & Industrie 8/2014 3

hf-praxis

PC & Industrie

© beam-Verlag Dipl.-Ing. Reinhard Birchel