Automatisierte Analyse von verteilten Traces

Im Projekt AUTOTRACE wurde eine Systemlösung zur kontinuierlichen und selektiven Langzeit-Speicherung von Programm-Trace-Daten für eingebettete verteilte Systeme entwickelt. Darüber hinaus wurde angestrebt, die Konfiguration der Aufzeichnung zu vereinfachen. Durch eine Anomalieerkennung zur Laufzeit kann das Tracing auf relevante Daten beschränkt werden. Zusätzlich lassen sich analoge Signale bzw. Kommunikationsschnittstellen parallel zum Programmablauf aufzeichnen. Auf diese Weise kann die direkte Zuordnung zwischen Hardware-Signalen und darauffolgender Programmreaktion synchron aufgenommen und nachfolgend verifiziert werden.

© Fraunhofer IKS

Tracing behebt Performanz-Probleme und funktionale Fehler

Das Bild zeigt den Workflow für eine optimierte Kombination aus Softwareinstrumentierung und Hardware-Konfiguration.
© Fraunhofer IKS
Workflow für eine optimierte Kombination aus Softwareinstrumentierung und Hardware-Konfiguration

Softwaretest und Fehlerbehebung gehören zu den zeit- und kostenintensivsten Tätigkeiten der Softwareentwicklung. Tracing wird dabei sowohl für die Behebung von Performanz-Problemen als auch zum Beheben funktionaler Fehler eingesetzt.

Im Bereich der eingebetteten Systeme gehört das Tracing zu den Standardtechniken. Die Aufzeichnung der Ausführung erlaubt es, das Programmverhalten im Nachhinein detailliert zu analysieren. Vernetzte eingebettete Systeme, wie etwa smarte Maschinen oder autonome Fahrzeuge, können schnell sehr große Mengen an Daten produzieren, sodass nicht alle Daten dauerhaft aufgezeichnet werden können. Hier muss bereits zur Aufzeichnungszeit entschieden werden, welche Daten für eine spätere Analyse relevant sind.

Viele unterschiedliche Schnittstellen tragen zu dem Trace bei. Deshalb stellt bereits die Konfiguration der Aufzeichnung eine Herausforderung dar. Zudem können unterschiedliche Ansätze verwendet werden, um bestimmte Trace-Daten zu erfassen. Beispielsweise kann flexibles Software- oder performantes Hardware-Tracing verwendet werden, um Funktionsaufrufe zu verfolgen. Deren Vor- und Nachteile müssen bereits bei der Konfiguration berücksichtigt werden.

 

Diese Grafik zeigt den Fluss von Trace-Daten von Prozessor und Kommunikation bis zur Aufzeichnung von Fehlern.
© Fraunhofer IKS
Fluss von Trace-Daten von Prozessor und Kommunikation bis zur Aufzeichnung von Fehlern

Forschungsschwerpunkte im Projekt AUTOTRACE

  • „„Vereinfachtes Tracing durch automatische Erzeugung der benötigten Konfiguration und Artefakte für Instrumentierung, Debugger und weitere aufzeichnende Komponenten.
  • Entdecken seltener Fehler mithilfe einer Blackbox zur Aufzeichnung verteilter Trace-Quellen in Echtzeit und integrierter Anomalieerkennung.

Die Projektpartner

Während sich das Fraunhofer-Institut für Kognitive Systeme IKS (früher: Fraunhofer ESK) vor allem mit der Modellbildung und der anschließenden Anomalieerkennung beschäftigte, entwickelte EUROS Embedded Systems die gesamte notwendige Werkzeugkette. Die Firma Solectrix setzte die Blackbox um und Lauterbach stellte durch die Erweiterung seiner Produkte die Verbindung zu der zu testenden Hardware her. AVL steuerte den Anwendungsfall »Batteriemanagement von Elektrofahrzeugen« bei, um die im Projekt erzielten Ergebnisse evaluieren zu können.

Das Projekt wurde durch das Bayerische Staatsministerium für Wirtschaft und Medien, Energie und Technologie gefördert.