DE102021118972B3 - Computerimplementiertes verfahren und system zur lernbasierten anomaliedetektion zur bestimmung eines softwarefehlers in einem vernetzten fahrzeug - Google Patents

Computerimplementiertes verfahren und system zur lernbasierten anomaliedetektion zur bestimmung eines softwarefehlers in einem vernetzten fahrzeug Download PDF

Info

Publication number
DE102021118972B3
DE102021118972B3 DE102021118972.1A DE102021118972A DE102021118972B3 DE 102021118972 B3 DE102021118972 B3 DE 102021118972B3 DE 102021118972 A DE102021118972 A DE 102021118972A DE 102021118972 B3 DE102021118972 B3 DE 102021118972B3
Authority
DE
Germany
Prior art keywords
trace lines
nodes
trace
neural network
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102021118972.1A
Other languages
English (en)
Inventor
Alexander Frickenstein
Maik Kowol
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bayerische Motoren Werke AG
Original Assignee
Bayerische Motoren Werke AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bayerische Motoren Werke AG filed Critical Bayerische Motoren Werke AG
Priority to DE102021118972.1A priority Critical patent/DE102021118972B3/de
Application granted granted Critical
Publication of DE102021118972B3 publication Critical patent/DE102021118972B3/de
Priority to PCT/EP2022/059601 priority patent/WO2023001416A1/de
Priority to KR1020237038471A priority patent/KR20230162720A/ko
Priority to CN202280036742.2A priority patent/CN117355822A/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Die Erfindung betrifft ein computerimplementiertes Verfahren zur lernbasierten Anomaliedetektion zur Bestimmung eines Softwarefehlers in einem vernetzten Fahrzeug (1). Das Verfahren umfasst ein Übersetzen (S2) von Tracezeilen (3a-3c) eines Trace (3), der beispielsweise im DLT-Format vorliegt, als von einem Steuergerät (2) des Fahrzeugs (1) ausgegebener Datei mit einer zeitlichen Abfolge von Funktionsaufrufen von Softwarekomponenten des Steuergeräts (2) in eine Graph Representation (5) eines ungerichteten Graphen (5a), wobei eine Knotenliste (6) mit gewichteten Verknüpfungen (6a) zwischen Knoten (K1-K4, K17, K29) bereitgestellt wird (S3), die jeweils einzelne Datensegmente (D1-D8) der übersetzten Tracezeilen (3a-3c) repräsentieren, gefolgt von einem Eingeben (S3a) der Knotenliste (6) in ein Graph Neural Network (8), wobei in einer Embedded Representation (9) für jeden Knoten (K1-K4, K17, K29) der Knotenliste (6) Ähnlichkeiten und Abhängigkeiten dieses Knotens zu anderen Knoten der Knotenliste (6) als Embedded Features (F1-F3, FS17, FS29), beispielsweise im Floating-Point-Format, ausgegeben werden (S4). Danach erfolgt ein Sortieren (S4a) der Embedded Features (F1-F3, FS17, FS29) von Knoten (K1-K4, K17, K29) mehrerer zeitlich aufeinander folgender Tracezeilen (3a-3c) in zeitlicher Abfolge anhand eines Zeitstempels (D2) jeder übersetzten Tracezeile (3a-3c) und Anreichern (S4b) der Embedded Features (10) der Knoten der mehreren zeitlich aufeinander folgenden Tracezeilen (3a-3c) um ähnlichste Embedded Features (11) von Knoten, die mittels einer Abstandsmetrik ausgehend von Knoten (K1-K4, K17, K29) zumindest einer der mehreren zeitlich aufeinander folgenden Tracezeilen (3a-3c) bestimmt werden, und ein Eingeben (S4c) der ähnlichsten Embedded Features (11) neben den Embedded Features (10) der Knoten (K1-K4, K17, K29) der mehreren zeitlich aufeinander folgenden Tracezeilen (3a-3c) in ein tiefes neuronales Netz (12), wobei ein Zeitpunkt (tn) einer Fehlerwahrscheinlichkeit (13a) und/oder Fehlerklasse einer Anomalie in den mehreren zeitlich aufeinander folgenden Tracezeilen (3a-3c) zur Bestimmung des Softwarefehlers ausgegeben wird (S5). Die Erfindung betrifft ferner ein System zur lernbasierten Anomaliedetektion zur Bestimmung eines Softwarefehlers in einem vernetzten Fahrzeug (1), ein Computerprogramm und einen computerlesbaren Datenträger.

Description

  • Die Erfindung betrifft ein computerimplementiertes Verfahren zur lernbasierten Anomaliedetektion zur Bestimmung eines Softwarefehlers in einem vernetzten Fahrzeug. Die Erfindung betrifft zudem ein System zur lernbasierten Anomaliedetektion zur Bestimmung eines Softwarefehlers in einem vernetzten Fahrzeug. Die Erfindung betrifft ferner ein Computerprogramm und einen computerlesbaren Datenträger.
  • Mit zunehmender Vernetzung der Mobilität durchleben datenbasierte Dienste einen steilen Anstieg bezüglich ihrer Komplexität und Nutzerzahlen. Kernmerkmal solcher Dienste im Mobilitätskontext ist es, dem Nutzer auf Basis von Fahrzeugdaten relevante Funktionalität außerhalb und innerhalb des Fahrzeugs zur Verfügung zu stellen. Die durch die schnelllebige Welt der Consumer Electronics geprägte Erwartungshaltung der Nutzer fordert hierbei eine schnelle Erweiterung von Funktionalitäten in kurzen Update-Zyklen. Der Infrastruktur, die Fahrzeugdaten für solche Dienste bereitstellt, wird dementsprechend eine hohe Flexibilität abverlangt, um kurzfristig auf neue oder geänderte Anforderungen während der Laufzeit des Fahrzeugs reagieren zu können.
  • Daher ist es wichtig, im Rahmen der Entwicklungsphase eine hohe Testabsicherung zu erziehen und gleichzeitig möglichst alle Fehler in neuen Softwarekomponenten zu identifizieren und zu eliminieren. Als Konsequenz moderner kontinuierlicher Entwicklungsprozesse ist eine strikte Trennung zwischen Entwicklungsphase und Anwendungsphase beim Kunden nicht mehr möglich. Die daraus folgende Reduktion der Testabsicherung stellt allerdings große Herausforderungen an die Qualität von für den Kunden erlebbaren Applikationen. Besonders bei Kundenfahrzeugen ist es nur bedingt möglich, Tracedaten im Feld aufzuzeichnen und den Entwicklern zur Fehleranalyse bereitzustellen. Daher ist es nötig, in einer kurzen Entwicklungsphase möglichst schnell alle Fehler zu identifizieren. Wegen des großen Zustandsraum (Verbindungsstatus, Netzwerktechnologie, Netzwerk-Provider, ...) von vernetzten Systemen, den Umgebungsparametern (installierte/benutzte Applikationen) und anderen Einflussgrößen ist eine Testung mit einer Testflotte, die mit Aufzeichnungsgeräten für Tracedaten ausgestattet sind, geboten. Geschulte Tester sind mit der Aufgabe betraut, verschiedene Tests mit den Fahrzeugen durchzuführen und bei Problemen den Entwickler darüber in Kenntnis setzen. Auch wenn im Rahmen von Remote-Software-Updates, also einem Firmware-Over-the-Air Mechanismus, neue Software- Komponenten im Fahrzeug prinzipiell installiert werden können, birgen Fehler, welche die Verbindung des Fahrzeugs mit dem Backend beeinträchtigen, für einen Fahrzeughersteller besonders großes Risiko, da ohne Netzwerkverbindung keine oder nur schlecht neue Softwarekomponenten aus der Ferne, also remote, installiert werden können. Es besteht daher das Bedürfnis, eine höhere Testabdeckung in einer ohnehin kurzen Entwicklungsphase zu erzielen und den Tester und die Entwickler eine Arbeitserleichterung zu verschaffen.
  • Druckschrift DE 20 2017 005 070 U1 offenbart Computersystem zur computerimplementierten Erkennung von Anomalien in Ereignisströmen aus einem zu überwachenden technischen System, wobei das Computersystem ein Offline-Modul und ein Online-Modul umfasst. Das Offline-Modul umfasst einen Wechselpunkterkenner und eine Lernkomponente zum Lernen eines Normalmodells. Das Online-Modul umfasst eine Anomalieerkennungs-Komponente. In einem Offline-Schritt erfolgt unter Verwendung des Wechselpunkterkenners eine Identifizierung unterschiedlicher Betriebszustände aus Ereignisströmen des zu überwachenden technischen Systems, auf deren Grundlage in der Lernkomponente für jeden gefundenen Betriebszustand eine Erstellung eines Normalmodells erfolgt. In einem Online-Schritt detektiert die Anomalieerkennungs-Komponente auf der Grundlage des in der Lernkomponente erstellten mindestens einen Normalmodells in einem eingehenden Ereignisstrom anomales Verhalten des überwachten technischen Systems.
  • Es ist eine Aufgabe der Erfindung, eine Anomaliedetektion zur Bestimmung eines Softwarefehlers in einem vernetzten Fahrzeug bereitzustellen, die für eine schnelle, effiziente und zuverlässige Bestimmung des Softwarefehlers verwendet und flexibel an unterschiedliche Softwarefehler angepasst werden kann. Die Anomaliedetektion soll es ferner erlauben, Softwarefehler in vernetzen Fahrzeugen zu identifizieren und in den Tracedaten derart zu lokalisieren, dass einem Tester und/oder Entwickler, also Nutzer, mit dem Softwarefehler in Zusammenhang stehende Tracedaten angezeigt werden können.
  • Diese Aufgabe wird durch den Gegenstand der unabhängigen Ansprüche gelöst. Vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.
  • Bei dem erfindungsgemäßen computerimplementierten Verfahren zur lernbasierten Anomaliedetektion zur Bestimmung eines Softwarefehlers in einem vernetzten Fahrzeug werden Tracezeilen eines Trace, der beispielsweise im DLT-Format vorliegt, als von einem Steuergerät des Fahrzeugs ausgegebener Datei mit einer zeitlichen Abfolge von Funktionsaufrufen von Softwarekomponenten des Steuergeräts in eine Graph Representation eines ungerichteten Graphen übersetzt, wobei eine Knotenliste mit gewichteten Verknüpfungen zwischen Knoten bereitgestellt wird, die jeweils einzelne Datensegmente der übersetzten Tracezeilen repräsentieren. Die Knotenliste wird in ein Graph Neural Network eingegeben, wobei in einer Embedded Representation für jeden Knoten der Knotenliste Ähnlichkeiten und Abhängigkeiten dieses Knotens zu anderen Knoten der Knotenliste als Embedded Features, beispielsweise im Floating-Point-Format, ausgegeben werden. Die Embedded Features von Knoten mehrerer zeitlich aufeinander folgender Tracezeilen werden in zeitlicher Abfolge anhand eines Zeitstempels jeder übersetzten Tracezeile sortiert und die Embedded Features der Knoten der mehreren zeitlich aufeinanderfolgenden Tracezeilen werden um ähnlichste Embedded Features von Knoten angereichert/ergänzt, die mittels einer Abstandsmetrik ausgehend von Knoten zumindest einer der mehreren zeitlich aufeinander folgenden Tracezeilen bestimmt werden. Die ähnlichsten Embedded Features werden neben den Embedded Features der Knoten der mehreren zeitlich aufeinander folgenden Tracezeilen in ein tiefes neuronales Netz eingegeben, wobei ein Zeitpunkt einer Fehlerwahrscheinlichkeit und/oder Fehlerklasse einer Anomalie in den mehreren zeitlich aufeinander folgenden Tracezeilen zur Bestimmung des Softwarefehlers ausgegeben wird.
  • Als Anomalie wird irgendeine Form von Fehlverhalten in den übersetzten Tracezeilen definiert. Das Fehlverhalten kann sich insbesondere auf Funktionsaufrufe beziehen, die von einer oder mehreren Tracezeilen als Datensegmente umfasst sind. Ein nicht erfolgter, falscher oder verzögerter Funktionsaufruf oder ein nicht vorhandener, falscher oder verzögert auftretender Wert kann als Anomalie angesehen werden. Als Softwarefehler wird irgendein Fehler als Folge eines Ablaufs eines Programms oder Teils eines Programms definiert, das abgebildet durch die Tracezeilen in einer oder mehreren Softwarekomponenten des Steuergeräts des Fahrzeugs abläuft, wobei der Fehler die Anomalie erzeugen und als Anomalie in Erscheinung treten kann.
  • Der Begriff Fahrzeug umfasst PKW, LKW, Busse, Wohnmobile, Krafträder, etc., die der Beförderung von Personen, Gütern, etc. dienen. Insbesondere umfasst der Begriff Kraftfahrzeuge zur Personenbeförderung. Ergänzend oder alternativ kann das Hybrid- oder Elektrofahrzeug gemäß Ausführungsformen ein reines Elektrofahrzeug (BEV) oder ein Plugin-Hybridfahrzeug (PHEV) sein. Es können jedoch auch andere Antriebsformen verwendet werden, beispielsweise in Form eines diesel- oder benzinbetriebenen Fahrzeugs. Das Fahrzeug kann auch in Form eines Schienenfahrzeugs vorliegen. Das Fahrzeug kann mit einem oder mehreren anderen Fahrzeugen und/oder einem Backend vernetzt sein. Die Art der Vernetzung kann drahtlos über Funk, WLAN, LTE, GSM oder über einen anderen drahtlosen Übertragungsstandard wie Bluetooth etc. erfolgen.
  • Traces sind Dateien, die beispielsweise dem DLT Format von AUTOSAR folgen. Sie werden zum Speichern von Informationen beim Entwickeln und Testen von Fahrzeugen verwendet. Traces bestehen aus mehreren Tracezeilen. Tracezeilen können die folgende Datensegmente enthalten (Liste ist nicht abschließend):
    • - Index (Position der Tracezeile innerhalb des Traces, kann als sechsstellige Zahl vorliegen)
    • - Timestamp (Die absolute unix Zeit in Sekunden und Millisekunden wird genutzt, um einen absoluten Zeitpunkt mit Datum zu errechnen)
    • - Time (enthält die Zeit, seitdem die ECU gestartet ist)
    • - ECU ID (auch ECU, die einzigartige Adresse des Steuergeräts im Fahrzeug, die die Tracezeile sendet, z. B. Navigationssystem, Telematik-Steuergerät, Motor-Steuergerät)
    • - Application ID (auch APID, die ID einer APP die eine Gruppierung von verschiedenen Softwareklassen, Methoden und Funktionen, z. B. Telematik (TP), also eine Gruppe, die verschiedene Telematikfunktionen bündelt, wie z. B. HTTP (DUMM), MQTT)
    • - Context ID (auch CTID, ist eine konkrete Softwareklasse/Methode oder Funktion wie z. B. HTTP, MQTT)
    • - TYPE (Beschreibt die Art der Tracezeile, z. B. log)
    • - Payload (Eine Reihe an Informationen über Zustandsänderungen, Methoden/Funktionsaufrufen, Variablen, Werte und/oder Fehlermeldungen der Software Klassen/Methoden und Funktionen)
  • Die Datensegmente können mittels Leerzeichen, Komma, Semikolon, Abstandstabulator oder auf andere Weise voneinander getrennt sein. Ein Beispiel für eine Tracezeile ist nachfolgend aufgeführt:
    Figure DE102021118972B3_0001
  • Die nachfolgenden Tracezeilen zeigen, dass das Fahrzeug Online geht sowie ein HTTP Request, der fehlerhaft ist und einer der erfolgreich ist. Zudem weisen die Traces Informationen über die Zeit, das Steuergerät, und die Softwarekomponenten auf.
    • 133881 2021/06/04 09:08:46.590010 15.0897 21 MGHS TP CNCT 2589 log info verbose 3 TP_CNCTATM DeviceAdapter::onlfTelephoneAvailable true |361|t2589
    • 133895 2021/06/04 09:08:46.592079 15.0954 32 MGHS TP CNCT 2589 log info verbose 3 TP_CNCT ATMDeviceAdapter::onlfDataCommunicationAvailable true |336|t2589
    • 133941 2021/06/04 09:08:46.593022 15.1202 23 MGHS TP ACM 2589 log info verbose 10 TP_ACM Service::updateDataConnectionStatus dataConnectionStatus: device= BMW , status= NO_DEVICE, technology= UNKNOWN , voicedataparallel= false |564|t2589
    • 134423 2021/06/04 09:08:46.620540 15.1208 52 MGHS TP CNCT 2589 log info verbose 19 TP_CNCT Service::updateDeviceStatus updatedDeviceStatus: DEV ATM CSD Connected CSV Unknown HWS true TE true MT T NI NMCC:232NMNC:o 3SMCC:232SMNC:oo3RS:RegisteredAndRoaming NG 8 |647|t2589
    • 134426 2021/06/04 09:08:46.620543 15.1209 26 MGHS TP ACM 2589 log info verbose 10 TP_ACM Service::updateDataConnectionStatus dataConnectionStatus: device= BMW , status= CONNECTED , technology= LTE, voicedataparallel= true |564|t2589
    • 143516 2021/06/04 09:08:47.189398 15.8168 9 MGHS TP DUMM 2589 log info verbose 14 TP_DUMM Service::httpRequestCompleted , httpResponseCode: 906 , headers: 0 , responseContentType: , downloadedBytes: 0 , uploadedBytes: 0 , error: HTTP_ERROR |593|t2589
    • 239512 2021/06/04 09:08:52.407698 73.0059 69 MGHS TP DUMM 2589 log info verbose 14 TP_DUMM Service::httpRequestCompleted , httpResponseCode: 200 , headers: 5 , responseContentType: application/json , downloaded Bytes: 32255 , uploadedBytes: 0 , error: NO_ERROR |593|t2589
  • Im Rahmen der Graph Representation besteht ein Graph aus einer Menge von Knoten und Kanten. Kanten verbinden die jeweiligen Knoten und können in gerichtete und ungerichtete Kanten unterschieden werden. Während gerichtete Graphen oft eine Hierarchie oder einen bestimmten Weg darstellen, folgen die Kanten in ungerichteten Graphen keinem festen Pfad, weswegen man von Knoten A nach B und auf demselben Weg wieder zurück kann, also von B nach A. Zudem können Kanten mit einer Gewichtung versehen werden, die angibt, wie stark oder schwach die Konnektivität zwischen benachbarten Knoten ausgeprägt ist. Je häufiger bei einem gegebenen Trace gleiche Knoten direkt miteinander über eine Kante verbunden sind, desto höher ist die Konnektivität zwischen diesen Knoten. Der ungerichtete Graph kann verwendet werden, um Zusammenhänge von jeglichen Informationen von Knoten unabhängig von einer Ebene einer Tracezeile, also zwischen unterschiedlichen Tracezeilen, zu erkennen.
  • Ein Graph Neural Network dient einer latenten Repräsentation eines Graphen im Vektorraum. Die Worte repräsentierenden Vektoren beinhalten einen Begriff der Ähnlichkeit untereinander, d.h. zwei Worte, die einander ähnlich sind, neigen dazu, im Vektorraum näher beieinander zu liegen, d.h. das Skalarprodukt der beiden Vektoren ist groß. Zudem finden die Vektoren in verschiedenen nachgelagerten Problemen wie Klassifizierung, Clustering, etc. Anwendung. Während es viele Lösungen gibt, um ein Wort oder ein Bild als Vektor einzubetten, kann mittels des Graph Neural Network dies für Graphen erfolgen. Eine besondere Ausführungsform eines Graph Neural Network ist DeepWalk (siehe arXiv1403.6652V2 [cs.SI], 27. Juni 2014).
  • Die Abstandsmetrik, mittels derer die ähnlichsten Embedded Features ausgehend von den Knoten zumindest einer der mehreren zeitlich aufeinander folgenden Tracezeilen bestimmt werden, kann als Metrik beschrieben werden, mittels der Knoten bestimmt werden, die im ungerichteten Graphen einen vorbestimmten Abstand von X Kanten, X ganzzahlig größer oder gleich 1, und/oder Y Kanten, Y kleiner X, von einem oder mehreren Knoten zumindest einer der mehreren zeitlich aufeinander folgenden Tracezeilen beabstandet angeordnet sind. Die Abstandsmetrik kann als Cosine Similarity, im Deutschen Cosinus-Ähnlichkeit, ausgeführt sein. Die Cosine Similarity ist ein Ähnlichkeitsmaß, das zum Vergleich von Dokumenten verwendet werden kann oder z. B. eine Rangfolge von Dokumenten in Bezug auf einen gegebenen Vektor von Suchbegriffen angibt. Seien x und y zwei Vektoren zum Vergleich. Unter Verwendung der Cosine Similarity als Ähnlichkeitsmetrik ergibt sich s i m ( x , y ) = x y x y ,
    Figure DE102021118972B3_0002
    wobei ||x|| die euklidische Norm des Vektors x=(x1,x2,...,xp) ist, definiert als x 2 1 + x 2 2 + + x 2 p .
    Figure DE102021118972B3_0003
    Konzeptionell ist sie die Länge des Vektors. In ähnlicher Weise ist ||y|| die euklidische Norm des Vektors y. Die Metrik berechnet den Kosinus des Winkels zwischen den Vektoren x und y. Ein Kosinuswert von 0 bedeutet, dass die beiden Vektoren um 90 Grad zueinander stehen (orthogonal) und keine Übereinstimmung aufweisen. Je näher der Kosinuswert bei 1 liegt, desto kleiner ist der Winkel und desto größer ist die Übereinstimmung zwischen den Vektoren.
  • Wenn auch eine Anomaliedetektion, auch Anomalieerkennung genannt, mit einem vernetzten Fahrzeug möglich ist, erlaubt die Erfindung doch die Anomaliedetektion mit mehreren Testfahrzeugen, die einen Zustand und eine Funktion von im Betrieb befindlichen Softwarekomponenten, die von deren jeweiliger ECU (Electronic Control Unit, elektronische Kontrolleinheit), auch Steuergerät genannt, aufzeichnen. Die Logs oder auch Traces werden in einem Speichermedium für die spätere Analyse abgespeichert. Die Traces beinhalten beispielsweise Informationen über die zeitliche Abfolge von Funktionsaufrufen und Softwarekomponenten, ihre Zustände, Fehlercodes und eine Software-Version. Nach Beendigung der Testfahrt werden die Traces aus dem Fahrzeug ausgelesen und den Nutzern/Entwicklern zur Analyse bereitgestellt. Analog werden die Interaktionen mit dem Backend, das mit dem Fahrzeug vernetzt ist und mit dem Fahrzeug kommuniziert, gespeichert. Darüber hinaus liegen Traces über das Sollverhalten von Softwarekomponenten und über bereits analysierte und bekannte Fehler vor.
  • Das erfindungsgemäße Verfahren zur Anomaliedetektion umfasst einen lernfähigen Algorithmus eines tiefen neuronalen Netzes, der die ausgegebenen Traces des Fahrzeugs zeitsequenziell verarbeitet. Ein rekurrentes neuronales Netz, wie beispielsweise ein Long Short-Term Memory (LSTM), ist für das Lernen von zeitsequenziellen Daten besonders geeignet. Es kann ein zeitlicher Zusammenhang zwischen einzelnen Traces gelernt werden. So kann beobachtet werden, wie eine HTTP-Anfrage von einer Applikation wie beispielsweise einer Wettervorhersage als Folge einer Datenaktualisierung über das Benutzerinterface des Fahrzeugs an die Datenschnittstelle der Telematik-Plattform gesendet wird. Darüber hinaus ist es vorteilhaft, die im Fahrzeug aufgezeichneten Traces mit den Traces aus dem Backend zu fusionieren, um die Datengrundlage mit weiteren Informationen für das Lernen anzureichern. Traces aus dem Backend sind eine Erweiterung der Daten und können somit allein nicht in hinreichendem Maße die Ursache eines Softwarefehlers im Fahrzeug belegen. Allerdings können sie Aufschluss über ein allgemeines Verbindungsproblem bei der Datenübertragung beim Netzwerk-Provider geben.
  • Die meisten Fehler treten allerdings im Zusammenhang mit dem Ausführen einer bestimmten Applikation oder einer Abfolge von Tastenkombinationen auf. Diese Tatsache erschwert es, einen Fehler zu reproduzieren und seine tatsächliche Ursache zu identifizieren. Daher ist erfindungsgemäß vorgesehen, das tiefe neuronale Netz zur zeitlichen Auswertung der Traces mit dem Ausgang eines weiteren neuronalen Netzes in Form des Graph Neural Network zu ergänzen, mit dem ein Zusammenhang zwischen einzelnen Tracezeilen erkannt werden kann, wenn kein oder nur ein entfernter zeitlicher Zusammenhang zwischen den Tracezeilen vorliegt.
  • Die zur Anomaliedetektion herangezogenen Traces in einem verteilten System, bestehend aus einem oder mehreren Steuergeräten und Applikationen, die über unterschiedliche Schnittstellen miteinander kommunizieren, werden erfindungsgemäß in eine Graph Representation als ungerichteter Graph übersetzt. Die Zusammenhänge zwischen Tracezeilen werden mit einem Graph Neural Network erkannt. Das Graph Neural Network zeigt seine Effektivität besonders dann, wenn Datensegmente einer Ursache-Wirkung Beziehung aus einer oder mehreren Tracezeilen nicht unmittelbar im Zusammenhang stehen oder ihr Auftreten zeitlich stark entkoppelt ist. Mit Bezug auf die zuvor genannte Wettervorhersage kann es passieren, dass Anfragen bedingt durch Download-Prioritäten, Systemauslastungen oder schlechten Datenverbindungen zeitlich stark verzögert sind. Auch ist es denkbar, dass die zeitliche Synchronisation von ausgegebenen Traces nicht gegeben ist. Das Graph Neural Network kann dazu verwendet werden, eine Semantik von Tracezeilen zu lernen und eine Beziehung/einen Zusammenhang zwischen Tracezeilen zu deuten. Das Graph Neural Network kann ferner verwendet werden, um eine Embedded Representation der Traces zu lernen und Rückschlüsse auf zusammenhängende Traces zu ziehen, die nicht in einem zeitlichen Kontext stehen.
  • Das erfindungsgemäße Verfahren der Anomaliedetektion, bei dem Ausgangsdaten des Graph Neural Network Eingangsdaten des tiefen neuronalen Netzes bilden derart, dass die Embedded Features der Knoten der mehreren zeitlich aufeinander folgenden Tracezeilen um ähnlichste Embedded Features von Knoten angereichert/ergänzt werden, die mittels der Abstandsmetrik ausgehend von Knoten zumindest einer der mehreren zeitlich aufeinander folgenden Tracezeilen bestimmt werden, erlaubt insbesondere bei langen Wirkketten, beispielsweise: Verbindungsaufbau auf Telematik-Steuergerät -> Übertragung des Verbindungsstatus an Navigationssystem/Multimedia-Steuergerät -> Authentifizierung mit Backend, eine schnelle, effiziente und zuverlässige Feststellung eines Fehlverhaltens der übersetzten Tracezeilen und mittels des Zeitpunkts der Anomalie eine Erkennung und Bestimmung des die Anomalie erzeugenden Softwarefehlers.
  • Unter der Bestimmung eines Softwarefehlers wird insbesondere verstanden, dass ein Softwarefehler festgestellt ist und zumindest ein Indikator vorliegt, anhand von dem der Softwarefehler identifiziert werden kann. Unter der Identifikation eines Softwarefehlers wird verstanden, dass dem Softwarefehler eine Fehlerklasse zugewiesen ist. Unter einer Lokalisierung eines Softwarefehlers wird verstanden, dass mit dem Softwarefehler in Zusammenhang stehende Tracezeilen, auch relevante Tracezeilen genannt, im betrachteten Trace festgestellt sind.
  • Das Verfahren zur Anomaliedetektion kann fließend mit den Tracedaten einer Testflotte von Fahrzeugen trainiert und weiter verfeinert, also nachtrainiert werden. Zudem können Tracezeilen des Sollverhaltens und Tracezeilen von bekannten Fehlern als Grundwahrheit (im Englischen ground truth) für ein geführtes Lernen genutzt werden.
  • Es ist von Vorteil, wenn N zeitlich aufeinander folgende Tracezeilen und ähnlichste Embedded Features von M Knoten in einem gleitenden Zeitfenster zur Eingabe in das tiefe neuronale Netz verwendet werden. Das gleitende Zeitfenster kann während des Durchfahrens durch den Trace ein konstante oder variable Größe, also Anzahl an erfassten Tracezeilen, aufweisen. Eine Geschwindigkeit des Durchfahrens des Traces kann konstant oder variabel sein und von der Auswertegeschwindigkeit des Verfahrens zur Anomaliedetektion abhängen.
  • Es ist vorteilhaft, wenn von den N zeitlich aufeinander folgenden Tracezeilen des gleitenden Zeitfensters nur die Tracezeile mit dem jüngsten Zeitstempel zur Bestimmung der ähnlichsten Embedded Features verwendet wird, wobei die ähnlichsten Embedded Features der M Knoten mittels der Abstandsmetrik ausgehend von den Knoten der Tracezeile mit dem jüngsten Zeitstempel bestimmt werden. Dies erhöht gegenüber einer Verwendung mehrerer oder aller Tracezeilen des gleitenden Zeitfensters die Auswertegeschwindigkeit und ist zur Bestimmung der ähnlichsten Embedded Features ausreichend. In einer vorteilhaften Ausführungsform wird die Abstandsmetrik als Cosine Similarity, euklidische Distanzmetrik oder gewichtete euklidische Distanzmetrik bereitgestellt, um eine schnelle und effiziente Abstandsmetrik bereitzustellen.
  • In einer weiteren Ausführungsform, in der M im Wesentlichen N entspricht, insbesondere M gleich N gesetzt wird, und M insbesondere gleich 3, 10 oder 64 gesetzt wird, hat sich gezeigt, dass ein besonders schnelles und zuverlässiges Ergebnis der Anomaliedetektion erzielt werden kann. Die ähnlichsten Embedded Features ergänzen, wenn M im Wesentlichen N entspricht, besonders effizient die Embedded Features der Knoten der mehreren zeitlich aufeinander folgenden Tracezeilen, um einen Softwarefehler auch ohne oder mit nur geringer zeitlicher Korrelation zwischen den mit dem Softwarefehler in Zusammenhang stehenden Knoten zu bestimmen. Andere Verhältnisse von M zu N sind möglich.
  • Von Vorteil für die Zuordenbarkeit der Knoten der Knotenliste zu den Datensegmenten der Tracezeilen ist es, wenn die Knotenliste mit den gewichteten Verknüpfungen zwischen den Knoten, insbesondere Verknüpfungen zwischen zwei Knoten, ergänzt wird um eine Lookup-Tabelle, in der jedem Knoten der übersetzten Tracezeilen, der mit einer fortlaufenden ganzzahligen Ziffer bezeichnet sein kann, eine unterscheidbare Bezeichnung aus Ziffern und/oder Buchstaben zugeordnet wird. Mittels der Lookup-Liste kann auf einfache und schnelle Weise ein mit einem Softwarefehler in Zusammenhang stehender Knoten auf das dem Knoten entsprechende Datensegment zurückgeführt werden.
  • Für eine effiziente Auswertung ist es vorteilhaft, dass die Anomalie in den mehreren zeitlich aufeinander folgenden Tracezeilen zur Bestimmung des Softwarefehlers in Form einer graphischen Darstellung eines Regressionsproblems und/oder Klassifikationsproblems ausgegeben wird. Bei der Formulierung des tiefen neuronalen Netzes als Regressions- und/oder Klassifikationsproblem wird in beiden Fällen das tiefe neuronale Netz anhand von bekannten Traces mit bekannten Fehlermustern trainiert, also geführt (im Englischen supervised), wobei das vorgelagerte Graph Neural Network keine gelabelten Trainingsdaten benötigt. Unter einem Label wird eine Information verstanden, mittels derer eine Bewertung der gelabelten Daten möglich ist.
  • Bei dem Klassifikationsproblem wird eine Zuordnung eines Traces zu einem bekannten Fehlermuster vorgenommen, beispielsweise Fehler im Zusammenhang mit DNS, dem Netzwerk, der Systemzeit. Für jede Fehlerklasse stellt das tiefe neuronale Netz einen Ausgang bereit und die sich daraus ergebenden Prädiktionen werden beispielsweise unter Zuhilfenahme der Kreuzentropie mit den Labeln der Traces verglichen. Mittels Fehlerrückführung werden die trainierbaren Parameter des tiefen neuronalen Netzes so angepasst, dass beispielsweise die Kreuzentropie minimiert wird. Die Klassifikation findet für den Schritt statt, in dem die zeitlich aufeinander folgenden Tracezeilen im Verfahren zur Anomaliedetektion erfasst werden, beispielsweise dann, wenn das gleitende Zeitfenster über die Traces bewegt wird.
  • Beim Regressionsproblem kann, zusätzlich oder ergänzend zum Klassifikationsproblem, das tiefe neuronale Netz eine Aussage über eine Fehlerwahrscheinlichkeit geben, also eine Aussage, wie wahrscheinlich eine Tracezeile im Zusammenhang mit einem Fehler steht. Ähnlich wie beim Klassifikationsproblem sind die Traces und die darin enthaltenen Tracezeilen (durch Experten) gekennzeichnet oder markiert. Es ist zudem möglich, dass in einem Trace zwei Fehler vorliegen, die unabhängig voneinander sind, beispielsweise eine falsche Systemzeit und Modemprobleme, was im Rahmen des Labelings berücksichtigt werden kann. Als Fehlerfunktion können die Manhattan Metrik oder die Euklidische Distanz genutzt werden, wobei andere Fehlerfunktionen möglich sind.
  • Effizienzsteigernd für das Verfahren zur Anomaliedetektion wirkt sich aus, wenn in einem vorgelagerten Schritt das Graph Neural Network und/oder das tiefe neuronale Netz mit Tracezeilen eines Sollverhaltens und/oder Tracezeilen von bekannten Softwarefehlern als Grundwahrheit für ein geführtes Lernen trainiert werden/wird. Dies erlaubt ein geführtes Lernen.
  • In einer weiteren Ausführungsform werden neben Tracezeilen des von dem Steuergerät des Fahrzeugs ausgegebenen Trace Tracezeilen weitere Traces aus einem Backend in die Graph Representation übersetzt, um eine vorhandene Datenbasis an Tracezeilen zu vergrößern und/oder die Auswertesicherheit mittels Training des Graph Neural Network und/oder tiefen neuronalen Netzes zu erhöhen. Dies dient einer Steigerung der Effizienz des Bestimmens von Softwarefehlern in den betrachteten Tracezeilen gegenüber einer Effizienz ohne Hinzunahme weitere Traces.
  • Es ist auch möglich und von Vorteil, in einem nachgelagerten Schritt das Graph Neural Network und/oder das tiefe neuronale Netz mit Tracezeilen von Traces einer Testflotte von weiteren Fahrzeugen nach zu trainieren. Dies dient einer Steigerung der Effizienz des Bestimmens von Softwarefehlern in den betrachteten Tracezeilen gegenüber einer Effizienz ohne Hinzunahme der Tracezeilen von Traces der Testflotte.
  • Besonders vorteilhaft ist es, ausgehend von dem Zeitpunkt der Anomalie in den mehreren zeitlich aufeinander folgenden Tracezeilen als Ausgabe des tiefen neuronalen Netzes mit dem Softwarefehler in Verbindung stehende Tracezeilen mittels einer Auswertung der Embedded Representation, der Knotenliste, der Lookup-Tabelle und der Graph Representation zu bestimmten, wobei mittels der mit dem Softwarefehler in Verbindung stehenden Tracezeilen der Softwarefehler identifiziert wird, eine Verfügbarkeitskarte von Diensten im Fahrzeug erstellt wird, und/oder Tracezeilen, die im Zusammenhang mit einem potenziellen Softwarefehler stehen, bestimmt werden.
  • Nachdem das tiefe neuronale Netz auf Grundlage der zeitlichen Features, also der Embedded Features der Knoten mehrerer zeitlich aufeinander folgender Tracezeilen, und der ähnlichsten/abhängigen Embedded Features, eine Anomalie im Zeitstempel prädiziert/festgestellt/ausgegeben hat, wird eine Bestimmung relevanter Knoten und somit Tracezeilen vorgenommen. Hierbei werden mittels des Knotens mit dem Zeitstempel die zugehörige Tracezeile und die Knoten ihrer Datensegmente identifiziert. Auf eine Eingabeschnittstelle des tiefen neuronalen Netzes von Knoten mehrerer zeitlich aufeinander folgender Tracezeilen in zeitlicher Abfolge kann zurückgegriffen werden. Für die Knoten der Datensegmente der anomaliebehafteten Tracezeile zum vom tiefen neuronalen Netz ausgegebenen Zeitpunkt werden durch Evaluierung der Abstandsmetrik weitere relevante Knoten und somit Datensegmente der Tracezeilen identifiziert. Eine Zuordnung zu den Tracezeilen kann über die Eingabeschnittstelle des tiefen neuronalen Netzes und die Look-up Tabelle erfolgen.
  • Die mit dem Softwarefehler in Verbindung stehenden Tracezeilen erlauben es dem Nutzer auf einfache Weise festzustellen, ob ein Fehlverhalten in den vorliegenden Traces vorliegt und/oder das Fehlverhalten einem bereits bekannten Fehlermuster zugewiesen werden kann. Auch ist auf vereinfachte Weise mit den mit dem Softwarefehler in Verbindung stehenden Tracezeilen möglich, festzustellen, auf welche Ursache, z. B. fehlerhafte Software/Bedienung, ein Fehlverhalten sich zurückführen lässt. Für den Nutzer ergibt sich zudem anhand der relevanten Tracezeilen die Möglichkeit festzustellen, dass der bestimmte Softwarefehler reproduzierbar ist, was die Fehleranalyse und Fehlerbehebung wesentlich vereinfacht oder sogar erst möglich macht.
  • Für jede Fehlerprädiktion, also jeden Zeitpunkt einer Fehlerwahrscheinlichkeit als Ausgabeergebnis des tiefen neuronalen Netzes, bei der/dem eine Zuversichtlichkeit (Konfidenz) bzw. Fehlerwahrscheinlichkeit des tiefen neuronalen Netzes höher ist als ein vorbestimmter Schwellwert, können auf diese Weise die Knoten in die Anomaliedetektion zurückgeführt werden und unter Zuhilfenahme der Embedded Representation und der Lookup- Tabelle können die ähnlichsten Features, z. B. N ähnlichste Features, identifiziert werden, z. B. mittels der Cosine Similarity. Mittels der Embedded Representation können die Knoten mit den ähnlichsten Features bestimmt werden. Die mit dem Softwarefehler in Zusammenhang stehenden Tracezeilen können dann dem Nutzer z. B. durch Markieren der Tracezeilen mit den Knoten mit diesen Features, also den relevanten Tracezeilen, kenntlich gemacht machen. Andere Arten der Anzeige der relevanten Tracezeilen sind möglich, z. B. durch Ausblenden nicht fehlerrelevanter Tracezeilen. Auch können fehlerrelevante Datensegmente in den relevanten Tracezeilen dem Nutzer markiert oder auf andere Weise hervorgehoben angezeigt werden. Das Verfahren zur Anomaliedetektion bzw. der Algorithmus zur Anomaliedetektion kann zur Identifikation von Softwarefehlern, zur Erstellung der Verfügbarkeitskarte von Diensten und zur Lokalisierung von Tracezeilen, die im Zusammenhang mit einem potenziellen Fehler stehen, trainiert werden. Bereits klassifizierte Fehlermuster können genutzt werden, um das tiefe neuronale Netz nach zu trainieren.
  • Besonders effizient und schnell kann das Verfahren zur Anomaliedetektion ablaufen, wenn das Graph Neural Network als DeepWalk und das tiefe neuronale Netz als rekurrentes neuronales Netz, insbesondere als Long-Short Term Memory, ausgeführt wird.
  • Von besonderem Vorteil ist es, wenn zur Bestimmung des Softwarefehlers das tiefe neuronale Netz verwendet wird, um eine zeitliche Auswertung der übersetzten Tracezeilen vorzunehmen, und das Graph Neural Network verwendet wird, um mittels einer Semantik der übersetzten Tracezeilen einen Zusammenhang zwischen den übersetzten Tracezeilen zu bestimmen. Auf diese Weise können effizient und schnell auch Softwarefehler bestimmt werden, die durch eine lange Wirkkette der ersten und zweiten Knoten zustande kommen, die den Fehler verursachen (erster Knoten) und auftreten lassen (zweiter Knoten).
  • Die Erfindung umfasst auch ein System zur lernbasierten Anomaliedetektion zur Bestimmung eines Softwarefehlers in einem vernetzten Fahrzeug. Das System umfasst eine Übersetzungseinheit, die eine Schnittstelle zur Eingabe von Tracezeilen umfasst, zum Übersetzen von Tracezeilen eines Trace, der beispielsweise im DLT-Format vorliegt, als von einem Steuergerät des Fahrzeugs ausgegebener Datei mit einer zeitlichen Abfolge von Funktionsaufrufen von Softwarekomponenten des Steuergeräts in eine Graph Representation eines ungerichteten Graphen, um eine Knotenliste mit gewichteten Verknüpfungen zwischen Knoten bereitzustellen, die jeweils einzelne Datensegmente der übersetzten Tracezeilen repräsentieren. Es umfasst weiter eine erste Eingabeschnittstelle zum Eingeben der Knotenliste in ein Graph Neural Network, um in einer Embedded Representation für jeden Knoten der Knotenliste Ähnlichkeiten und Abhängigkeiten dieses Knotens zu anderen Knoten der Knotenliste als Embedded Features, beispielsweise im Floating-Point-Format, auszugeben, Sortiermittel zum Sortieren der Embedded Features von Knoten mehrerer zeitlich aufeinander folgender Tracezeilen in zeitlicher Abfolge anhand eines Zeitstempels jeder übersetzten Tracezeile und Anreichern der Embedded Features der Knoten der mehreren zeitlich aufeinander folgenden Tracezeilen um ähnlichste Embedded Features von Knoten, die mittels einer Abstandsmetrik ausgehend von Knoten zumindest einer der mehreren zeitlich aufeinander folgenden Tracezeilen bestimmt sind, und eine zweite Eingabeschnittstelle zum Eingeben der ähnlichsten Embedded Features neben den Embedded Features der Knoten der mehreren zeitlich aufeinander folgenden Tracezeilen in ein tiefes neuronales Netz, um einen Zeitpunkt einer Fehlerwahrscheinlichkeit und/oder Fehlerklasse einer Anomalie in den mehreren zeitlich aufeinander folgenden Tracezeilen zur Bestimmung des Softwarefehlers auszugeben. Das erfindungsgemäße System weist dem erfindungsgemäßen Verfahren entsprechende Vorteile und Effekte auf. Die Übersetzungseinheit, erste Eingabeschnittstelle, das Sortiermittel und die zweite Eingabeschnittstelle können als separate oder integrierte Funktionseinheiten vorliegen.
  • Die Erfindung umfasst auch ein Computerprogramm mit Programmcode, um das erfindungsgemäße Verfahren durchzuführen, wenn das Computerprogramm auf einem Computer ausgeführt wird. Das Computerprogramm kann eingerichtet werden, um auf einem oder mehreren Prozessoren ausgeführt zu werden, um dadurch das erfindungsgemäße Verfahren auszuführen. Das Computerprogramm kann auf einem oder mehreren Speichermedien gespeichert sein. Auch umfasst die Erfindung einen computerlesbaren Datenträger mit Programmcode eines Computerprogramms, um das erfindungsgemäße Verfahren durchzuführen, wenn das Computerprogramm auf einem Computer ausgeführt wird.
  • Weitere mögliche Ausgestaltungen, Weiterbildungen und Implementierungen der Erfindung umfassen auch nicht explizit genannte Kombinationen von zuvor oder im Folgenden bezüglich der Ausführungsbeispiele beschriebenen Merkmale der Erfindung.
  • Die beiliegenden Figuren sollen ein weiteres Verständnis der Ausführungsformen der Erfindung vermitteln. Sie veranschaulichen Ausführungsformen und dienen im Zusammenhang mit der Beschreibung der Erklärung von Prinzipien und Konzepten der Erfindung. Andere Ausführungsformen und viele der genannten Vorteile ergeben sich im Hinblick auf die Figuren. Es zeigen:
    • 1a bis 1c ein schematisches System zur lernbasierten Anomaliedetektion zur Bestimmung eines Softwarefehlers in einem vernetzten Fahrzeug gemäß einer ersten Ausführungsform der Erfindung,
    • 2a ein schematisches Flussdiagramm mit Schritten zur Ausführung des erfindungsgemäßen Verfahrens, wobei ein Trace mit unbekannten Softwarefehlern zur Anomaliedetektion verwendet wird, gemäß einer zweiten Ausführungsform der Erfindung, und
    • 2b ein schematisches Flussdiagramm mit Schritten zur Ausführung des erfindungsgemäßen Verfahrens, wobei die Anomaliedetektion mit einem Trace mit einem bekannten Softwarefehler trainiert wird, gemäß einer dritten Ausführungsform der Erfindung.
  • Im Folgenden werden, sofern nicht anders angegeben, für gleiche und gleichwirkende Elemente gleiche Bezugszeichen verwendet.
  • 1a zeigt einen Trace 3, der als Datei mit einer zeitlichen Abfolge von Funktionsaufrufen von Softwarekomponenten eines Steuergeräts 2 aus dem Steuergerät 2 eines Fahrzeugs 1 in das erfindungsgemäße System zur lernbasierten Anomaliedetektion zur Bestimmung eines Softwarefehlers in dem vernetzten Fahrzeug 1 in einem Schritt S1 eingelesen wird, wobei von dem Trace 3 umfasste Tracezeilen 3a, 3b, 3c in eine Graph Representation 5 in einem Schritt S2 übersetz werden. Das Fahrzeug 1, beispielsweise ein von einem Fahrzeugführer oder autonom geführter PKW, LKW, Bus, Motorrad, ein schienengeführtes Fahrzeug oder ein Flugzeug, kann zu einem oder mehreren anderen Fahrzeugen und/oder zu einem Backend-Server mittels einer drahtlosen Kommunikationsverbindung zeitweilig oder permanent vernetzt sein. So kann der Trace 3 über eine Anfrage des Backend-Servers aus dem Steuergerät 2 des Fahrzeugs 1 über eine Antwortmitteilung des Steuergeräts 2 an den Backend-Server in dem Schritt S1 übermittelt werden. Auch kann das Steuergerät 2 nach Sammlung einer vorbestimmten Anzahl an Traces 3 und/oder Tracezeilen 3a-3c des Traces 3 automatisch den oder die Traces 3 an den Backend-Server übermitteln. Auch kann der Trace 3 über eine Schnittstelle, z. B. eine On Board-Schnittstelle (OBD), im Fahrzeug 1 drahtlos oder mittels Kabel in die Anomaliedetektion eingelesen werden.
  • Der Trace 3 wird mit einem gleitenden Zeitfenster 4 (im Englischen sliding window) von oben nach unten, also in zeitlicher Abfolge der Tracezeilen 3a-3c durchfahren, um die Tracezeilen 3a-3c in eine Graph Representation 5 zu übersetzen (siehe Pfeil mit der Zeit t). Im vorliegenden Ausführungsbeispiel bleibt beim Durchfahren des gleitenden Zeitfensters 4 das Zeitfenster 4 gleich groß, d.h. es umfasst stets drei Tracezeilen. Alternativ kann das Zeitfenster 4 beim Durchfahren des Trace 3 seine Größe ändern, also weniger oder mehr als drei Tracezeilen abhängig von der Zeit t, dem Trace 3 und/oder den Tracezeilen 3a-3c umfassen. Jede Tracezeile umfasst Datensegmente. So umfasst die Tracezeile 3a eine laufende Nummer als Datensegment D1, einen Zeitstempel als Datensegment D2, eine Information MGHS als Datensegment D3, eine Information TP als Datensegment D4, eine Information ACM als Datensegment D5 und eine Information CONNECTED als Datensegment D6. Die Tracezeile 3b umfasst beispielsweise eine Information CURL_COULDNT_CONNECT als Datensegment D7 und eine der Tracezeilen 3c nachfolgende Tracezeile umfasst eine Information 200 als Datensegment D8. Die Datensegmente D1-D8 zeigen beispielsweise Funktionsaufrufe, Werte oder andere Mitteilungen an, die sich auf Softwarekomponenten des Steuergeräts 2 des Fahrzeugs 1 beziehen.
  • Die Graph Representation 5 umfasst im vorliegenden Ausführungsbeispiel einen ungerichteten Graphen 5a, in dem sämtliche Datensegmente D1-D8 der von dem Zeitfenster 4 durchfahrenen Tracezeilen 3a-3c als Knoten K1-K4, K17, K29 mit jeweils zwei Knoten verbindenden Kanten Ka1, Ka2. Im Graphen 5a sind die Knoten K1-K4, K17, K29 jeweils als Ellipsen und die Kanten zwischen zwei Knoten jeweils als gerade Linien unterschiedlicher Dicke repräsentiert. Der Knoten K1 repräsentiert das Datensegment D3, der Knoten K2 das Datensegment D4, der Knoten K3 das Datensegment D5, der Knoten K4 das Datensegment mit der Information DUMM, der Knoten K17 das Datensegment D1 mit der laufenden Nummer der Tracezeile 3a und der Knoten K29 das Datensegment mit der laufenden Nummer der Tracezeile 3b. Knoten mit den Datensegmenten D2, D6 und D7 sind neben weiteren Knoten zu anderen Datensegmenten ebenfalls im Graphen 5a enthalten. Die Kante Ka1 verbindet einen Knoten mit dem Knoten K1 und die Kante Ka2 verbindet den Knoten K2 mit dem Knoten K4. Je öfter in den eingelesenen Tracezeilen das Datensegment mit der Information DUMM zu dem Datensegment D4 mit der Information TP unmittelbar benachbart angeordnet ist, desto stärker ist die Verbindung zwischen diesen Knoten, was sich im Graphen 5a durch eine im Vergleich zur Dicke der Kante Ka1 größere Dicke der Kante Ka1 äußert. Es können Knoten und Kanten von Tracezeilen von mehreren Steuergeräten in den gleichen Graphen 5a eingetragen werden, wie dies durch die Knoten oberhalb der Knoten K2 und K3 im Graphen 5a angezeigt ist, wobei zwischen den Knoten, also der von den Knoten repräsentierten Informationen der Datensegmente, kein zeitlicher Zusammenhang bestehen muss. Die Knoten K1-K4, K17, K29 sind durch eine laufende Knotennummer Z, also 1-4, 17, 29 wie sämtliche Knoten des Graphen 5a voneinander unterscheidbar gekennzeichnet. Während die Information CONNECTED in dem Datensegment D6 einen fehlerfreien Verbindungsaufbau anzeigt, weist die Information CURL_COULDNT_CONNECT im Datensegment D7 auf einen Softwarefehler in dem Trace 3 hin, der durch das Datensegment D7 in der Tracezeile 3b in Erscheinung tritt.
  • 1b zeigt eine von dem Graphen 5 ausgegebene Knotenliste 6 mit gewichteten Verknüpfungen 6a zwischen den Knoten K1-K4, eine Lookup-Tabelle 7 mit Zuordnungen der Knotennummern zu den Informationen der Datensegmente D3-D5, ein Graph Neural Network 8, eine Embedded Representation 9 mit Features F1-F3, FS17, FS29, Embedded Features 10 der Knoten der mehreren zeitlich aufeinander folgenden Tracezeilen 3a-3c sowie mittels einer Abstandsmetrik ausgehend von den Knoten der in dem Zeitfenster 4 betrachteten Tracezeile 3a mit dem zeitlich jüngsten Zeitstempel bestimmte ähnlichste Features 11.
  • Mittels Auswertung des Inhaltes und der Struktur des ungerichteten Graphen 5a, also der Knoten K1-K4, K17, K29 und deren Verbindungen mittels Kanten Ka1, Ka2 wird in einem Schritt 3 die Lookup-Tabelle 6 bereitgestellt, wobei jeder Verknüpfung 6a zwischen zwei Knoten des Graphen 5a eine Gewichtung 6b zugeordnet ist. Die Gewichtung 6b der Verknüpfung 6a zwischen den Knoten K1 und K2 ist abhängig von der Konnektivität zwischen diesen beiden Knoten und beschreibt die Dicke der Kante zwischen den beiden Knoten, also die Häufigkeit des Auftretens unmittelbar benachbarter Datensegmente D3 und D4 in den Tracezeilen 3a-3c des eingelesenen Trace 3 bzw. der eingelesenen Traces. Der Graph 5a erlaubt zudem die Erstellung der von einem Nutzer lesbaren Lookup-Tabelle 7, in der sämtlichen Knotennummern jeweils die Informationen der Datensegmente zugeordnet sind, die von den Knoten mit der Knotennummer repräsentiert sind. Beispielsweise ist der Knotennummer 1 die Information MGHS des Datensegments D3 zugeordnet.
  • Die Knotenliste 6 wird einem Schritt S3a in das Graph Neural Network 8 eingegeben, wobei in einem Schritt S4 in der Embedded Representation 9 für jeden Knoten K1-K4, K17, K29 der Knotenliste 6 Ähnlichkeiten und Abhängigkeiten dieses Knotens zu anderen Knoten der Knotenliste 6 als Embedded Features F1-F3, FS17, FS29, im vorliegenden Ausführungsbeispiel im Floating-Point-Format, ausgegeben werden. So sind dem Knoten K1 die laufende Knotennummer 1 und die Embedded Features F1, F2 und F3 neben weiteren Embedded Features zugewiesen. Dem Knoten K17 sind die laufende Knotennummer 17 und die Mehrzahl an Embedded Features FS17 und dem Knoten K29 sind die laufende Knotennummer 29 und die Mehrzahl an Embedded Features FS29 zugewiesen.
  • Danach folgt in einem Schritt S4a ein Sortieren der Embedded Features F1-F3, FS17, FS29 von Knoten der mehreren zeitlich aufeinander folgenden Tracezeilen 3a-3c des Zeitfensters 4 in zeitlicher Abfolge anhand des Zeitstempels D2 jeder übersetzten Tracezeile 3a-3c und in einem weiteren Schritt S4b, der zeitgleich oder zeitlich überlappend zu dem Schritt 3a ausgeführt werden kann, ein Anreichern der Embedded Features 10 der Knoten der mehreren zeitlich aufeinander folgenden Tracezeilen 3a-3c um die ähnlichsten Embedded Features 11 von Knoten, die mittels der Abstandsmetrik, beispielsweise Cosine Similarity, euklidische Distanzmetrik oder gewichtete euklidische Distanzmetrik, ausgehend von Knoten K1-K4, K17, K29 zumindest einer der mehreren zeitlich aufeinander folgenden Tracezeilen 3a-3c bestimmt werden. Im vorliegenden Ausführungsbeispiel werden lediglich Knoten für die Abstandsmetrik als Eingabedaten herangezogen, die zu der Tracezeile mit dem jüngsten Zeitstempel des gleitenden Zeitfensters 4 gehören, also bei dem Zeitfenster 4 mit den Tracezeilen 3a-3c die Tracezeile 3a, wobei der Zeitstempel 09:08:46.620543 der Tracezeile 3a als Information des Datensegments D2 vorliegt. Es können N = 3 zeitlich aufeinander folgende Tracezeilen 3a-3c und ähnlichste Embedded Features 11 von M Knoten in dem gleitenden Zeitfenster 4 zur Eingabe in ein tiefes neuronale Netz 12 verwendet werden, wobei vorteilhafterweise für eine schnelle und effiziente Anomaliedetektion M ungefähr gleich N gewählt wird. Daraus ergeben sich N, zeitlich aufeinander folgende Features 10 und M, ähnlichste bzw. relevanteste Features.
  • 1c zeigt die Embedded Features 10 der Knoten der mehreren zeitlich aufeinander folgenden Tracezeilen 3a-3c und die ähnlichsten Embedded Features 11 als Eingabedaten in das tiefe neuronale Netz 12, das tiefe neuronale Netz 12, eine graphische Darstellung 13 eines Regressionsproblems als Ausgabe des tiefen neuronalen Netzes 12 und eine Rückführung auf die Tracezeilen des Traces 3 mittels eines Zeitpunkts tn des Auftretens einer Anomalie, wobei mit dem Zeitpunkt tn ein Softwarefehler bestimmt ist.
  • In einem Schritt S4c werden die ähnlichsten Embedded Features 11 neben den Embedded Features 10 der Knoten K1-K4, K17, K29 der mehreren zeitlich aufeinander folgenden Tracezeilen 3a-3c in das tiefe neuronale Netz 12 eingegeben, wobei in einem Schritt S5 der Zeitpunkt tn einer Fehlerwahrscheinlichkeit 13a einer Anomalie in den mehreren zeitlich aufeinander folgenden Tracezeilen 3a-3c zur Bestimmung des Softwarefehlers ausgegeben wird. Alternativ oder Zusätzlich kann zumindest eine Fehlerklasse ausgegeben werden. Ein Schwellwert Sw ist für die Fehlerwahrscheinlichkeit 13a definiert, wobei bei einem Wert für die Fehlerwahrscheinlichkeit 13a größer oder gleich dem Schwellwert Sw eine Anomalie zur Bestimmung eines Softwarefehlers mittels dem bei dem Schwellwert Sw vorliegenden Zeitpunktes tn vorliegt bzw. angenommen wird.
  • Ausgehend von dem Zeitpunkt tn der mittels des Schwellwerts Sw bestimmten Anomalie in den mehreren zeitlich aufeinander folgenden Tracezeilen 3a-3c werden mit dem Softwarefehler in Verbindung stehende, also relevante Tracezeilen mittels einer Auswertung der Embedded Representation 9, der Knotenliste 6, der Lookup-Tabelle 7 und der Graph Representation 5, die den Graphen 5a umfasst, als Funktionseinheiten der Anomaliedetektion bestimmt. Für jede Softwarefehlerprädiktion, also Ausgabe des tiefen neuronalen Netzes 12 im Rahmen der Anomaliedetektion, bei der eine Zuversichtlichkeit (Konfidenz) des tiefen neuronalen Netzes 12, die in der Fehlerwahrscheinlichkeit 13a ihren Ausdruck findet, gleich oder höher ist als der Schwellwert Sw werden in einem Schritt S6 die Knoten, deren Embedded Features 10, 11 in das tiefe neuronale Netz 12 als Eingabedaten übernommen wurden, in die Funktionseinheiten der Anomaliedetektion zurückgeführt, um im Trace 3 relevante Tracezeilen zu bestimmen.
  • 2a zeigt ein schematisches Flussdiagramm mit den Schritten S1 bis S7 zur Ausführung des erfindungsgemäßen Verfahrens zur Anomaliedetektion, wobei ein Trace mit unbekannten Softwarefehlern, z.B. der Trace 3 mit dem als CURL_COULDNT_CONNECT in dem Datensegment D7 in Erscheinung tretenden unbekannten Softwarefehler, zur Anomaliedetektion verwendet wird. Die Schritte S1 bis S6 sind bei der Beschreibung der 1a bis 1c bereits erläutert und werden daher nicht nochmals beschrieben. In einem Schritt S7 werden unter Verwendung der Embedded Representation 9 und der Look-up Tabelle 7 M1 ähnlichste Features identifiziert, z. B. mittels der Cosine Similarity, und dem Nutzer durch Markieren der Tracezeilen, in denen Knoten mit diesen Features auftreten, kenntlich gemacht.
  • 2b zeigt ein schematisches Flussdiagramm mit Schritten Sia, S2 bis S5, S6a, S7a zur Ausführung des erfindungsgemäßen Verfahrens zur Anomaliedetektion, wobei die Anomaliedetektion mit einem Trace mit einem bekannten Softwarefehler trainiert wird. In einem Schritt S1a wird ein gelabelter Trace, also ein Trace, der Informationen enthält, mittels derer eine Bewertung des Traces möglich ist, in die Anomaliedetektion eingelesen, also in die Graph Representation 5 übersetzt. Die Schritte S2 bis S5 sind bei der Beschreibung der 1a bis 1c bereits erläutert und werden daher nicht nochmals beschrieben. In einem Schritt S6a wird eine Prädiktion des tiefen neuronalen Netzes 12, also Ausgabe des tiefen neuronalen Netzes 12 im Rahmen der Anomaliedetektion, mit den Labels vergleichen, z. B. mittels Kreuzentropie, Manhattan-Distanz, etc., und es findet in einem Schritt S7a eine Softwarefehlerrückführung in das tiefe neuronale Netz 12 und Optimierung der trainierbaren Parameter unter Minimierung einer Fehlerfunktion, z. B. mittels Stochastic Gradient Descent, statt.
  • Obwohl die Erfindung im Detail durch bevorzugte Ausführungsbeispiele näher illustriert und erläutert wurde, so ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen. Es ist daher klar, dass eine Vielzahl von Variationsmöglichkeiten existiert. Beispielhaft genannte Ausführungsformen stellen nur Beispiele dar, die nicht in irgendeiner Weise als Begrenzung etwa des Schutzbereichs, der Anwendungsmöglichkeiten oder der Konfiguration der Erfindung aufzufassen sind. Vielmehr versetzen die vorhergehende Beschreibung und die Figurenbeschreibung den Fachmann in die Lage, die beispielhaften Ausführungsformen konkret umzusetzen, wobei der Fachmann in Kenntnis des offenbarten Erfindungsgedankens vielfältige Änderungen beispielsweise hinsichtlich der Funktion oder der Anordnung einzelner, in einer beispielhaften Ausführungsform genannter Elemente vornehmen kann, ohne den Schutzbereich zu verlassen, der durch die Ansprüche und deren rechtliche Entsprechungen, wie etwa weitergehenden Erläuterungen in der Beschreibung, definiert wird.
  • Die unter Bezug auf die dargestellten Ausführungsformen beschriebenen Merkmale der Erfindung, beispielsweise ein gleitendes Zeitfenster mit drei Tracezeilen wie in 1a dargestellt, können auch bei anderen Ausführungsformen der Erfindung, z. B. bei der Ausführung des Schrittes S5, wie in 2a oder 2b dargestellt, vorhanden sein, außer wenn es anders angegeben ist oder sich aus technischen Gründen von selbst verbietet.

Claims (16)

  1. Computerimplementiertes Verfahren zur lernbasierten Anomaliedetektion zur Bestimmung eines Softwarefehlers in einem vernetzten Fahrzeug (1), umfassend die Schritte: - Übersetzen (S2) von Tracezeilen (3a-3c) eines Trace (3), der beispielsweise im DLT-Format vorliegt, als von einem Steuergerät (2) des Fahrzeugs (1) ausgegebener Datei mit einer zeitlichen Abfolge von Funktionsaufrufen von Softwarekomponenten des Steuergeräts (2) in eine Graph Representation (5) eines ungerichteten Graphen (5a), wobei eine Knotenliste (6) mit gewichteten Verknüpfungen (6a) zwischen Knoten (K1-K4, K17, K29) bereitgestellt wird (S3), die jeweils einzelne Datensegmente (D1-D8) der übersetzten Tracezeilen (3a-3c) repräsentieren, - Eingeben (S3a) der Knotenliste (6) in ein Graph Neural Network (8), wobei in einer Embedded Representation (9) für jeden Knoten (K1-K4, K17, K29) der Knotenliste (6) Ähnlichkeiten und Abhängigkeiten dieses Knotens zu anderen Knoten der Knotenliste (6) als Embedded Features (F1-F3, FS17, FS29), beispielsweise im Floating-Point-Format, ausgegeben werden (S4), - Sortieren (S4a) der Embedded Features (F1-F3, FS17, FS29) von Knoten (K1-K4, K17, K29) mehrerer zeitlich aufeinander folgender Tracezeilen (3a-3c) in zeitlicher Abfolge anhand eines Zeitstempels (D2) jeder übersetzten Tracezeile (3a-3c) und Anreichern (S4b) der Embedded Features (10) der Knoten der mehreren zeitlich aufeinander folgenden Tracezeilen (3a-3c) um ähnlichste Embedded Features (11) von Knoten, die mittels einer Abstandsmetrik ausgehend von Knoten (K1-K4, K17, K29) zumindest einer der mehreren zeitlich aufeinander folgenden Tracezeilen (3a-3c) bestimmt werden, und - Eingeben (S4c) der ähnlichsten Embedded Features (11) neben den Embedded Features (10) der Knoten (K1-K4, K17, K29) der mehreren zeitlich aufeinanderfolgenden Tracezeilen (3a-3c) in ein tiefes neuronales Netz (12), wobei ein Zeitpunkt (tn) einer Fehlerwahrscheinlichkeit (13a) und/oder Fehlerklasse einer Anomalie in den mehreren zeitlich aufeinander folgenden Tracezeilen (3a-3c) zur Bestimmung des Softwarefehlers ausgegeben wird (S5).
  2. Das computerimplementierte Verfahren nach Anspruch 1, wobei die Abstandsmetrik als Cosine Similarity, euklidische Distanzmetrik oder gewichtete euklidische Distanzmetrik bereitgestellt wird.
  3. Das computerimplementierte Verfahren nach Anspruch 1 oder 2, wobei N zeitlich aufeinander folgende Tracezeilen (3a-3c) und ähnlichste Embedded Features (11) von M Knoten in einem gleitenden Zeitfenster (4) zur Eingabe in das tiefe neuronale Netz (12) verwendet werden.
  4. Das computerimplementierte Verfahren nach Anspruch 3, wobei von den N zeitlich aufeinander folgenden Tracezeilen (3a-3c) des gleitenden Zeitfensters (4) nur die Tracezeile (3a) mit dem jüngsten Zeitstempel (D2) zur Bestimmung der ähnlichsten Embedded Features (11) verwendet wird, wobei die ähnlichsten Embedded Features (11) der M Knoten mittels der Abstandsmetrik ausgehend von den Knoten (K1-K3, K17) der Tracezeile (3a) mit dem jüngsten Zeitstempel (D2) bestimmt werden.
  5. Das computerimplementierte Verfahren nach Anspruch 3 oder Anspruch 4, wobei M im Wesentlichen N entspricht, insbesondere M gleich N gesetzt wird, und M insbesondere gleich 3, 10 oder 64 gesetzt wird.
  6. Das computerimplementierte Verfahren nach einem der vorhergehenden Ansprüche, wobei die Knotenliste (6) mit den gewichteten Verknüpfungen (6a) zwischen den Knoten (K1-K4, K17, K29), insbesondere Verknüpfungen zwischen zwei Knoten (K1, K2), ergänzt wird um eine Lookup-Tabelle (7), in der jedem Knoten (K1-K4, K17, K29) der übersetzten Tracezeilen (3a-3c), der mit einer fortlaufenden ganzzahligen Ziffer (Z) bezeichnet sein kann, eine unterscheidbare Bezeichnung aus Ziffern und/oder Buchstaben zugeordnet wird.
  7. Das computerimplementierte Verfahren nach einem der vorhergehenden Ansprüche, wobei die Anomalie in den mehreren zeitlich aufeinander folgenden Tracezeilen (3a-3c) zur Bestimmung des Softwarefehlers in Form einer graphischen Darstellung (13) eines Regressionsproblems und/oder Klassifikationsproblems auszugeben wird.
  8. Das computerimplementierte Verfahren nach einem der vorhergehenden Ansprüche, wobei in einem vorgelagerten Schritt das Graph Neural Network (8) und/oder das tiefe neuronale Netz (12) mit Tracezeilen eines Sollverhaltens und/oder Tracezeilen von bekannten Softwarefehlern als Grundwahrheit für ein geführtes Lernen trainiert werden/wird.
  9. Das computerimplementierte Verfahren nach einem der vorhergehenden Ansprüche, wobei neben Tracezeilen (3a-3c) des von dem Steuergerät (2) des Fahrzeugs (1) ausgegebenen Trace (3) Tracezeilen weiterer Traces aus einem Backend in die Graph Representation (5) übersetzt werden.
  10. Das computerimplementierte Verfahren nach einem der vorhergehenden Ansprüche, wobei in einem nachgelagerten Schritt das Graph Neural Network (8) und/oder das tiefe neuronale Netz (12) mit Tracezeilen von Traces einer Testflotte von weiteren Fahrzeugen nachtrainiert werden/wird.
  11. Das computerimplementierte Verfahren nach einem der vorhergehenden Ansprüche, sofern auf Anspruch 6 rückbezogen, wobei ausgehend von dem Zeitpunkt (tn) der Anomalie in den mehreren zeitlich aufeinander folgenden Tracezeilen (3a-3c) als Ausgabe des tiefen neuronalen Netzes (12) mit dem Softwarefehler in Verbindung stehende Tracezeilen mittels einer Auswertung der Embedded Representation (9), der Knotenliste (6), der Lookup-Tabelle (7) und der Graph Representation (5) bestimmt werden, wobei mittels der mit dem Softwarefehler in Verbindung stehenden Tracezeilen der Softwarefehler identifiziert wird, eine Verfügbarkeitskarte von Diensten im Fahrzeug erstellt wird, und/oder Tracezeilen, die im Zusammenhang mit einem potenziellen Softwarefehler stehen, bestimmt werden.
  12. Das computerimplementierte Verfahren nach einem der vorhergehenden Ansprüche, wobei das Graph Neural Network (8) als DeepWalk und das tiefe neuronale Netz (12) als rekurrentes neuronales Netz, insbesondere als Long-Short Term Memory, ausgeführt wird.
  13. Das computerimplementierte Verfahren nach einem der vorhergehenden Ansprüche, wobei zur Bestimmung des Softwarefehlers das tiefe neuronale Netz (12) verwendet wird, um einen zeitliche Auswertung der übersetzten Tracezeilen (3a-3c) vorzunehmen, und das Graph Neural Network (12) verwendet wird, um mittels einer Semantik der übersetzten Tracezeilen (3a-3c) einen Zusammenhang zwischen den übersetzten Tracezeilen (3a-3c) zu bestimmen.
  14. System zur lernbasierten Anomaliedetektion zur Bestimmung eines Softwarefehlers in einem vernetzten Fahrzeug (1), umfassend: - eine Übersetzungseinheit, die eine Schnittstelle zur Eingabe von Tracezeilen (3a-3c) umfasst, zum Übersetzen von Tracezeilen (3a-3c) eines Trace (3), der beispielsweise im DLT-Format vorliegt, als von einem Steuergerät (2) des Fahrzeugs (1) ausgegebener Datei mit einer zeitlichen Abfolge von Funktionsaufrufen von Softwarekomponenten des Steuergeräts (2) in eine Graph Representation (5) eines ungerichteten Graphen (5a), um eine Knotenliste (6) mit gewichteten Verknüpfungen (6a) zwischen Knoten (K1-K4, K17, K29) bereitzustellen, die jeweils einzelne Datensegmente (D1-D8) der übersetzten Tracezeilen (3a-3c) repräsentieren, - eine erste Eingabeschnittstelle zum Eingeben der Knotenliste (6) in ein Graph Neural Network (8), um in einer Embedded Representation (9) für jeden Knoten (K1-K4, K17, K29) der Knotenliste (6) Ähnlichkeiten und Abhängigkeiten dieses Knotens zu anderen Knoten der Knotenliste (6) als Embedded Features (F1-F3, FS17, FS29), beispielsweise im Floating-Point-Format, auszugeben, - Sortiermittel zum Sortieren der Embedded Features (F1-F3, FS17, FS29) von Knoten (K1-K4, K17, K29) mehrerer zeitlich aufeinander folgender Tracezeilen (3a-3c) in zeitlicher Abfolge anhand eines Zeitstempels (D2) jeder übersetzten Tracezeile (3a-3c) und Anreichern der Embedded Features (10) der Knoten der mehreren zeitlich aufeinander folgenden Tracezeilen (3a-3c) um ähnlichste Embedded Features (11) von Knoten, die mittels einer Abstandsmetrik ausgehend von Knoten (K1-K4, K17, K29) zumindest einer der mehreren zeitlich aufeinander folgenden Tracezeilen (3a-3c) bestimmt sind, und - eine zweite Eingabeschnittstelle zum Eingeben der ähnlichsten Embedded Features (11) neben den Embedded Features (10) der Knoten (K1-K4, K17, K29) der mehreren zeitlich aufeinander folgenden Tracezeilen (3a-3c) in ein tiefes neuronales Netz (12), um einen Zeitpunkt (tn) einer Fehlerwahrscheinlichkeit und/oder Fehlerklasse einer Anomalie in den mehreren zeitlich aufeinander folgenden Tracezeilen (3a-3c) zur Bestimmung des Softwarefehlers auszugeben.
  15. Computerprogramm mit Programmcode, um das Verfahren nach einem der Ansprüche 1 bis 12 durchzuführen, wenn das Computerprogramm auf einem Computer ausgeführt wird.
  16. Computerlesbarer Datenträger mit Programmcode eines Computerprogramms, um das Verfahren nach einem der Ansprüche 1 bis 12 durchzuführen, wenn das Computerprogramm auf einem Computer ausgeführt wird.
DE102021118972.1A 2021-07-22 2021-07-22 Computerimplementiertes verfahren und system zur lernbasierten anomaliedetektion zur bestimmung eines softwarefehlers in einem vernetzten fahrzeug Active DE102021118972B3 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102021118972.1A DE102021118972B3 (de) 2021-07-22 2021-07-22 Computerimplementiertes verfahren und system zur lernbasierten anomaliedetektion zur bestimmung eines softwarefehlers in einem vernetzten fahrzeug
PCT/EP2022/059601 WO2023001416A1 (de) 2021-07-22 2022-04-11 Computerimplementiertes verfahren und system zur lernbasierten anomaliedetektion zur bestimmung eines softwarefehlers in einem vernetzten fahrzeug
KR1020237038471A KR20230162720A (ko) 2021-07-22 2022-04-11 네트워크로 연결된 차량 내에서 소프트웨어 오류를 결정하기 위한 학습 기반의 비정상 검출을 위한 컴퓨터 구현 방법 및 시스템
CN202280036742.2A CN117355822A (zh) 2021-07-22 2022-04-11 用于确定联网车辆中的软件错误的基于学习的异常探测的计算机实现的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021118972.1A DE102021118972B3 (de) 2021-07-22 2021-07-22 Computerimplementiertes verfahren und system zur lernbasierten anomaliedetektion zur bestimmung eines softwarefehlers in einem vernetzten fahrzeug

Publications (1)

Publication Number Publication Date
DE102021118972B3 true DE102021118972B3 (de) 2022-03-24

Family

ID=80474043

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021118972.1A Active DE102021118972B3 (de) 2021-07-22 2021-07-22 Computerimplementiertes verfahren und system zur lernbasierten anomaliedetektion zur bestimmung eines softwarefehlers in einem vernetzten fahrzeug

Country Status (4)

Country Link
KR (1) KR20230162720A (de)
CN (1) CN117355822A (de)
DE (1) DE102021118972B3 (de)
WO (1) WO2023001416A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202017005070U1 (de) 2017-10-02 2017-11-12 Usu Software Ag Computersystem und Computerprogramm zur computerimplementierten Erkennung von Anomalien in Ereignisströmen

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10693707B2 (en) * 2015-01-27 2020-06-23 Moogsoft Inc. System for decomposing events from managed infrastructures with semantic clustering

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202017005070U1 (de) 2017-10-02 2017-11-12 Usu Software Ag Computersystem und Computerprogramm zur computerimplementierten Erkennung von Anomalien in Ereignisströmen

Also Published As

Publication number Publication date
CN117355822A (zh) 2024-01-05
WO2023001416A1 (de) 2023-01-26
KR20230162720A (ko) 2023-11-28

Similar Documents

Publication Publication Date Title
DE102013206746B4 (de) Verfahren und Vorrichtung zum Modifizieren der Konfiguration eines Fahrassistenzsystems eines Kraftfahrzeuges
DE102016220913A1 (de) Verfahren und Vorrichtung zur Generierung von Testfällen für autonome Fahrzeuge
DE102017213217A1 (de) Testfahrtszenario-Datenbanksystem für realitätsnahe virtuelle Testfahrtszenarien
DE102014210504A1 (de) Referenzwerterzeugungsvorrichtung für ein Fahrzeug
WO2021121695A1 (de) Verfahren, vorrichtung und system zur detektion von anomalen betriebszuständen eines geräts
DE102016000493A1 (de) Verfahren zum Betrieb eines Fahrzeugsystems und Kraftfahrzeug
DE102016007563A1 (de) Verfahren zur Trajektorienplanung
DE112018006555T5 (de) Programmgesteuertes identifizieren einer persönlichkeit eines autonomen fahrzeugs
DE102012206037A1 (de) Lernverfahren zur automatisierten Erkennung von Verkehrszeichen, Verfahren zur Bestimmung eines aktualisierten Parametersatzes für eine Klassifikation von einem Verkehrszeichen und Verkehrszeichenerkennungssystem
DE102015004748A1 (de) Verfahren zur Vorhersage einer gefährlichen Fahrsituation
EP3001380A1 (de) Diagnoseverfahren und erhebungsverfahren für fahrzeuge
DE102016207356A1 (de) Verfahren zum Betrieb eines Kraftfahrzeugs
DE102017210787A1 (de) Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk
DE102018209773A1 (de) Verfahren zur rechnergestützten Bestimmung einer Fehlerdiagnose eines Fahrzeugs
DE102019207215A1 (de) Verfahren zum Verwenden einer merkmalbasierten Lokalisierungskarte für ein Fahrzeug
DE102021118972B3 (de) Computerimplementiertes verfahren und system zur lernbasierten anomaliedetektion zur bestimmung eines softwarefehlers in einem vernetzten fahrzeug
EP3968213A1 (de) Verfahren und vorrichtung zum ermitteln eines gleisgebundenen schienenpfades in einer gleisanlage
DE102019203205A1 (de) Verfahren zum Auswerten von Fahrzeugdaten sowie Fahrzeugdatenauswertesystem zum Durchführen eines derartigen Verfahrens
DE102020113193B4 (de) Verfahren und System zum Verarbeiten von Sensordaten zur Übermittlung an eine zentrale Einheit
DE102018219125A1 (de) Verfahren zum Klassifizieren von Objekten mittels eines automatisiert fahrenden Kraftfahrzeuges und automatisiert fahrendes Kraftfahrzeug
DE102018005865A1 (de) Verfahren zum Testen eines Assistenzsystems für ein Fahrzeug
DE102020114609B4 (de) Verfahren zum Bereitstellen eines introspektiven Fehlervorhersagemodells, Assistenzsystem und Kraftfahrzeug
DE102021003598A1 (de) Verfahren zum automatischen Erkennen von fahrsicherheitsrelevanten Handlungen von Fahrzeuginsassen mindestens eines Kraftfahrzeugs sowie Kraftfahrzeug zur Durchführung dieses Verfahrens
DE102020128497A1 (de) Computerimplementiertes Verfahren und System zur dialogunterstützten Ferndiagnose eines Defekts an einem technischen Bauteil und/oder System eines Fahrzeugs und Trainingsverfahren
DE102021104738A1 (de) Verfahren zum Betrieb eines Kraftfahrzeugs

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final