Automatisierte Analyse von verteilten Traces

Im Projekt AUTOTRACE wird eine Systemlösung zur kontinuierlichen und selektiven Langzeit-Speicherung von Programm-Trace-Daten für eingebettete verteilte Systeme entwickelt. Darüber hinaus wird 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.

Tracing

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

Workflow für eine optimierte Kombination aus Softwareinstrumentierung und Hardware-Konfiguration

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

Fluss von Trace-Daten von Prozessor und Kommunikation bis zur Aufzeichnung von Fehlern

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.

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

Hinter dem Projekt AUTOTRACE steht ein Konsortium aus „

  • dem Fraunhofer-Institut für Eingebettete Systeme und Kommunikationstechnik ESK,
  • „EUROS Embedded Systems,
  • „Lauterbach,
  • „solectrix und
  • „AVL.

Während sich das Fraunhofer ESK vor allem mit der Modellbildung und der anschließenden Anomalieerkennung beschäftigt, entwickelt EUROS Embedded Systems die gesamte notwendige Werkzeugkette. Die Firma Solectrix setzt die Blackbox um und Lauterbach stellt durch die Erweiterung seiner Produkte die Verbindung zu der zu testenden Hardware her. AVL steuert den Anwendungsfall „Batteriemanagement von Elektrofahrzeugen“ bei, um die im Projekt erzielten Ergebnisse evaluieren zu können.

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