Entwicklung im System

ARM-Toolchain sorgt für die Einhaltung funktionaler Sicherheit

< zurück

Seite: 3/3

Anbieter zum Thema

Test der Tool-Ausgabe mittels Code-Coverage-Analyse

Beste Praktiken legen nahe, dass eine Code-Coverage-Analyse sicherstellt, dass alle Code-Pfade während des Tests ausgeführt werden. Die Code-Coverage-Analyse ist ein Laufzeittest, der einen Bericht erstellt, in dem die ausgeführten und nicht ausgeführten Code-Zeilen dargestellt sind. Der Anwender kann dann sein Testpaket anwenden, um zu gewährleisten, dass eine 100prozentige Abdeckung vorliegt. So verringert sich die Wahrscheinlichkeit unzureichend getesteter Software.

Zu einer typischen Code-Coverage-Analyse zählt die Instrumentierung des Quellcodes, sodass die Software selbst berichtet, welche Code-Pfade ausgeführt wurden. Dies lässt sich zwar mit einem Instrumentierungs-Compiler effektiv und einfach einfügen, ändert jedoch das Programm, das sich im Test befindet.

Ein alternativer Ansatz ist ein Hardware-Trace, bei dem das unveränderte Programm auf dem Target läuft und Trace Probes den Zustand des Programms während der Ausführung verfolgen.

Die ARM-Architektur enthält die Embedded Trace Macrocell (ETM), über die sich alle ausgeführten Befehle verfolgen lassen. Mit diesen Daten lässt ein genaues Profil des ausgeführten und nicht ausgeführten Codes erstellen.

Das Keil Microcontroller Development Kit (MDK) für ARM enthält Code Coverage Tools auf Basis eines Echtzeit-Streaming ETM Trace. Diese Streaming-Technik spart erheblich Zeit und Aufwand, indem sich das Zusammenfügen mehrerer Trace Runs erübrigt, um die Code-Coverage-Profile zu vervollständigen.

Der Artikel erschien zuerst in der "Elektronik Praxis".

* Daniel Owens ist Produktmanager für den Bereich Compiler bei ARM.

(ID:43751225)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu RZ- und Server-Technik

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung