| Kurzfassung
|
Beim Aufbau großer Softwaresysteme müssen Entwickler und Requirements-Ingenieure eine Vielzahl unterschiedlicher Softwareanforderungen im Blick behalten. Um die Komplexität der Verwaltung dieser Anforderungen zu vereinfachen, können Traceability-Links verwendet werden, um Beziehungen zwischen Anforderungen explizit zu machen. TraceLinks sind ein wichtiges Werkzeug für viele Aufgaben im Bereich Software-Engineering, wie zum Beispiel die Analyse von Änderungsauswirkungen oder die Sicherstellung der Konsistenz sowie die Einhaltung gesetzlicher Vorschriften. In vielen Softwareprojekten sind Traceability-Informationen nicht verfügbar, da die manuelle Erstellung von Trace-Links arbeitsintensiv, fehleranfällig und kostspielig ist. Daher werden automatisierte Tools untersucht, mit denen Trace-Links aus bestehenden Softwareprojekten zurückgewonnen werden können. Neuere Entwicklungen in diesem Bereich nutzen große Sprachmodelle (LLMs) für die Aufgabe der Rückgewinnung von Trace-Links (TLR). LLMs verfügen zwar über ein breites Weltwissen, das während ihres Trainings kodiert wird, ihnen fehlt aber in der Regel das projektspezifische Wissen, das erforderlich ist, um die Anforderungen eines Softwareprojekts vollständig zu verstehen. Diese Arbeit schlägt die Verwendung von Kontext für LLM-basierte TLR zwischen Anforderungen vor, um diese Lücke zu schließen. Es werden drei Arten von Kontext untersucht, um die Leistung der automatisierten TLR zwischen Anforderungen zu verbessern. Die erste Art ist die automatisierte Umschreibung von Anforderungen, um die Wahrscheinlichkeit einer semantischen Ähnlichkeit zwischen verwandten Anforderungen zu erhöhen. Zweitens wird die Verwendung von Anforderungen als Kontext untersucht, um dem Modell neben den Anforderungen eines Trace-Link-Kandidaten einen breiteren Einblick in projektspezifische Informationen zu geben. Schließlich werden projekt-externe Trace-Link-Beispiele als Kontext verwendet, um ähnliche Anforderungskonstellationen zwischen verschiedenen Projekten zu nutzen. Diese letzte Kontextart ist die erste Implementierung von dynamischem Few-Shot-Prompting für LLM-basiertes TLR. Die Verwendung von Kontext wird im Vergleich zu einem Basissystem bewertet, das keine Kontextinformationen verwendet. Es zeigt sich, dass die Verwendung von Kontext einen geringen, aber insgesamt positiven Effekt auf die TLR-Leistung hat, wenn Anforderungsumschreibungen oder externe Trace-Links verwendet werden. Die Verwendung zusätzlicher Anforderungen als Kontext hat einen leicht negativen Effekt auf die Gesamtleistung von TLR. Es zeigt sich, dass der Effekt des Kontexts auf die TLR-Leistung je nach dem Projekt, in dem die Aufgabe ausgeführt wird, sowie je nach verschiedenen Parametern, die für jeden Kontexttyp einzigartig sind, variiert.
|