Forschungsthemen
[BA] Code Duplication / Änderungen erkennen in Softwareprüfprozessen
Art der Arbeit: BA, FPA, GB, oder ähnliches
Die FSD Fahrzeugsystemdaten GmbH stellt Prüfvorgaben für die Hauptuntersuchung (HU) bereit. Hierfür wird das Vorgabeninformationssystem VIS verwendet, was während der HU am Fahrzeug ermittelte Werte mit diesen Vorgaben vergleicht.
Neben komplexeren Prüfungen (Bremssystem, Licht, etc.) gibt es in modernen Fahrzeugen auch einige Prüfungen, die sich ausschließlich auf Werte und Versionsnummern der im Fahrzeug eingesetzten Software beziehen, zum Beispiel die Prüfung, ob fehlerhafte kritische Softwarekomponenten aktualisiert worden sind.
Diese Prüfungen werden aufgrund ihrer einfachen Struktur nicht programmiert, sondern als Prozessmodell beschrieben, was im Rahmen der HU im VIS ausgeführt wird.
Für die Weiterentwicklung der dafür zuständigen Software, die im Kern aus einem Editor zum Erstellen der jeweiligen Prüfung und einer Execution Engine zu ihrer Ausführung besteht, werden nun folgende Arbeiten angeboten.
Ein Vorteil der umgesetzten Lösung ist die Wiederverwendbarkeit von Teilelementen der Prüfung ("Flows"), die oft generische Transformationen auf Daten ausführen, die z.B. für alle Fahrzeuge eines Herstellers gleich sind. Außerdem gibt es Prüfungen, die sich nur in Details unterscheiden, aber ähnliche Daten als Grundlage haben. Da allerdings die Prüfungen eigenständig ausführbar sein sollten, wird die Wiederverwendung durch das Kopieren der entsprechenden Aktivitäten und Flows erreicht. Das hat zwar den Vorteil, dass Änderungen an einer Stelle nicht an anderer Stelle Fehler auslösen können, führt aber dazu, dass in unterschiedlichen Prüfungen unterschiedliche Versionen und Varianten desselben Flows existieren.
In dieser Arbeit soll sich damit beschäftigt werden, Lösungen für die Probleme zu finden, die dadurch entstehen. Das ist zum Einen die nicht gemanagte Redundanzen verursacht, die redundante Bug-Fixes erfordern, zum Anderen aber auch dadurch, dass Ähnlichkeiten und Gemeinsamkeiten zwischen Prüfungen nicht erkannt werden können.
Daraus ergeben sich folgende konkrete Aufgaben:
- Studie der relevanten Literatur in den Bereichen Versions- und Variantenmanagement, sowie zur Ähnlichkeitsanalyse in Datenflussprogrammen
- Definition von Erfolgskriterien zur Lösung der oben genannten Probleme
- Entwicklung eines Konzepts zum Management *bekannter* Ähnlichkeiten, bzw. Verwendungen von Versionen und Varianten von Flows und Activities
- Entwicklung eines Konzepts zur Entdeckung neuer Ähnlichkeiten von Flows und Activities
- Prototypische Umsetzung für die FSD Softwareprüfung
- Evaluation der Konzepte mit geeigneten Methoden in Bezug auf die aufgestellten Erfolgskriterien
Betreuer: Johannes Mey