Automatische Wiederherstellung von Nachverfolgbarkeit zwischen Anforderungen und Quelltext
Creators: name: Hey, Tobias
Publisher: name: Karlsruher Institut für Technologie (KIT)
Year: 2023
Subjects: Traceability Link Recovery
Requirements Classification

description: Für die effiziente Entwicklung, Wartung und Pflege von Softwaresystemen spielt ein umfassendes Verständnis der Zusammenhänge zwischen den Softwareentwicklungsartefakten eine entscheidende Rolle. Die Nachverfolgbarkeit dieser Zusammenhänge ermöglicht es beispielsweise, vergangene Entwurfsentscheidungen nachzuvollziehen oder die Auswirkungen von Änderungen zu berücksichtigen. Das manuelle Erstellen und Pflegen dieser Nachverfolgbarkeitsinformationen ist allerdings mit hohem manuellem Aufwand und damit potenziell hohen Kosten verbunden, da meist menschliche Expertise zum Verständnis der Beziehungen erforderlich ist. Dies sorgt dafür, dass in den meisten Softwareprojekten diese Informationen nicht zur Verfügung stehen. Könnten Nachverfolgbarkeitsinformationen zwischen Softwareartefakten allerdings automatisch generiert werden, könnte die Entwicklung, Wartung und Pflege einer Vielzahl von Softwaresystemen effizienter gestaltet werden. Bestehende Ansätze zur automatischen Wiederherstellung von Nachverfolgbarkeitsverbindungen zwischen Anforderungen und Quelltext sind nicht in der Lage, die semantische Lücke zwischen den Artefakten zu überbrücken. Sie erzielen zu geringe Präzisionen auf akzeptablen Ausbeuteniveaus, um in der Praxis eingesetzt werden zu können. Das in dieser Arbeit vorgestellte Verfahren FTLR zielt durch einen semantischen Ähnlichkeitsvergleich auf eine Verbesserung der automatischen Wiederherstellung von Nachverfolgbarkeitsverbindungen zwischen Anforderungen und Quelltext ab. FTLR setzt hierzu vortrainierte fastText-Worteinbettungen zur Repräsentation der Semantik ein. Außerdem macht es sich strukturelle Informationen der Anforderungen und des Quelltextes zunutze, indem es anstatt auf Artefaktebene auf Ebene der Teile der Anforderungen und des Quelltextes abbildet. Diese Abbildung geschieht durch den Einsatz der Wortüberführungsdistanz, welche einen semantischen Ähnlichkeitsvergleich, der nicht durch Aggregation verfälscht wird, ermöglicht. Die eigentliche Bestimmung der Nachverfolgbarkeitsverbindungen erfolgt daraufhin durch einen Mehrheitsentscheid über alle feingranularen Zusammenhänge eines Artefakts, um die vorherrschenden Aspekte zu bestimmen und ggf. irrelevante Zusammenhänge zu ignorieren. In einem Experiment auf sechs Vergleichsdatensätzen konnte gezeigt werden, dass der Einsatz der Wortüberführungsdistanz gegenüber einer einfachen, aggregierten Vektorabbildung zu einer signifikanten Verbesserung der Identifikation von Nachverfolgbarkeitsverbindungen führt. Ebenso zeigte die Abbildung auf feingranularer Ebene mit anschließender Aggregation durch einen Mehrheitsentscheid signifikante Verbesserungen gegenüber der direkten Abbildung auf Artefaktebene. Um die Präzision FTLRs weiter zu erhöhen, wird ein Ansatz zum Filtern von irrelevanten Teilen von Anforderungen eingesetzt. Dieser basiert auf einer Klassifikation der Anforderungselemente mittels eines sprachmodellbasierten Klassifikators. Entscheidend für die Anwendung in FTLR ist dabei eine Anwendbarkeit auf ungesehene Projekte. Der vorgestellte Klassifikator NoRBERT nutzt Transferlernen, um große vortrainierte BERT-Sprachmodelle auf die Klassifikation von Anforderungen feinanzupassen. Hierdurch ist NoRBERT in der Lage, vielversprechende Ergebnisse auf ungesehenen Projekten zu erzielen. Das Verfahren war in der Lage, auf ungesehenen Projekten eine Abbildungsgüte von bis zu 89,8 % im F1-Maß zu erzielen. Durch das Bestimmen, ob ein Anforderungselement keine funktionalen Aspekte enthält, lassen sich irrelevante Teile der Anforderungen vor der Verarbeitung durch FTLR herausfiltern. Ein Vergleich der Leistung FTLRs mit und ohne einen derartigen Anforderungselementfilter ergab, dass ein signifikanter Leistungszuwachs im F1-Maß durch das Filtern erzielt werden kann. FTLR erzielt hierbei Werte im F1-Maß von bis zu 55,5 % und im Mittelwert der durchschnittlichen Präzision von 59,6 %. Neben der Repräsentation der Semantik durch ausschließlich auf natürlichsprachlichem Text vortrainierten Worteinbettungen wurden außerdem bimodale Sprachmodelle für den Einsatz in FTLR untersucht. Diese auf großen dualen Korpora, bestehend aus Quelltextmethoden und ihrer natürlichsprachlichen Dokumentation, vortrainierten Sprachmodelle erzielen in verwandten Aufgabenstellungen aus der Softwaretechnik, wie Quelltextsuche oder Fehlerlokalisierung, vielversprechende Ergebnisse. Um die Eignung für die automatische Wiederherstellung von Nachverfolgbarkeitsverbindungen zwischen Anforderungen und Quelltext zu untersuchen, wurden zwei Integrationsmöglichkeiten des bimodalen Sprachmodells UniXcoder in FTLR entwickelt. In einem Vergleich auf fünf Datensätzen zur Wiederherstellung von Nachverfolgbarkeitsverbindungen zwischen Anforderungen und Quelltext konnte kein Leistungszuwachs durch den Einsatz dieser Art von Modellen gegenüber den leichtgewichtigeren Worteinbettungen festgestellt werden. Abschließend wurde die Leistung FTLRs in Bezug zu bestehenden Ansätzen zur unüberwachten automatischen Wiederherstellung von Nachverfolgbarkeitsverbindungen zwischen Anforderungen und Quelltext gesetzt. Hierbei zeigt sich, dass FTLR auf Projekten, die ausschließlich objektorientierten Quelltext enthalten, eine höhere durchschnittliche Präzision und ein höheres F1-Maß als bestehende Verfahren erzielt. Allerdings verdeutlichen die Ergebnisse auch, dass, insbesondere auf großen Projekten, alle bestehenden Ansätze und auch FTLR noch weit von einer Abbildungsgüte entfernt sind, die es für eine vollständige Automatisierung der Wiederherstellung von Nachverfolgbarkeitsverbindungen in der Praxis benötigt.