Abstract:
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. ... mehrDies 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.
Abstract (englisch):
For the efficient development, maintenance and management of software systems, a comprehensive understanding of the relationships between software artifacts plays a crucial role. The traceability of these relationships makes it possible, for example, to comprehend past design decisions or to assess the impacts of changes. However, manually creating and maintaining traceability information entails high manual effort and therefore potentially high costs, as human expertise is usually required to understand the relationships. This is why this information is not available in most software projects. ... mehrHowever, if traceability information between software artifacts could be generated automatically, the development, maintenance and management of a wide range of software systems could be made more efficient. Existing approaches to automatically recover trace links between requirements and source code are not able to bridge the semantic gap between artifacts. They achieve too low precision at acceptable recall levels to be used in practice.
The FTLR approach presented in this dissertation aims at improving the automatic traceability link recovery between requirements and source text by performing a semantic similarity comparison. Therefore, FTLR uses pre-trained fastText word embeddings to represent semantics. It leverages structural information of the requirements and source code by using mapping on the level of the components of the requirements and source code instead of on the artifact level. This mapping uses the Word Movers Distance, which provides a semantic similarity comparison that is not skewed by aggregation. The actual identification of trace links is achieved by a majority vote on all fine-grained links of an artifact to determine the most prevalent aspects and ignore irrelevant relationships. In an experiment on six benchmark datasets, the use of the Word Movers Distance showed a significant improvement of the identification of traceability connections over basic aggregated vector mappings. Similarly, the fine-grained mapping followed by an aggregation with majority vote showed significant improvements over a direct artifact level mapping.
To further increase FTLR's precision, an approach for filtering irrelevant parts of requirements is applied. The approach is based on a classification of the requirement elements using a language model-based classifier. Crucial for the application in FTLR is an applicability to unseen projects. The presented classifier NoRBERT uses transfer learning to fine-tune large pre-trained BERT language models to the classification of requirements. Hereby, NoRBERT is able to achieve promising results on unseen projects.
The approach was able to achieve a mapping quality of up to 89.8% in F1-score on unseen projects. Determining whether a requirement element contains no functional aspects allows irrelevant parts of the requirements to be filtered out before processing by FTLR. A comparison of FTLR's performance with and without such a requirement element filter showed that a significant performance increase in F1-score can be achieved by filtering. FTLR achieves F1-scores of up to 55.5% and results in mean average precision of up to 59.6%.
In addition to representing semantics through word embeddings that are pre-trained exclusively on natural language text, this work also investigates bimodal language models for the use in FTLR. These language models are pre-trained on large dual corpora, consisting of source code methods and their natural language documentation, and achieve promising results in related software engineering tasks, such as code search or bug localization. To investigate the applicability of these models for the automatic recovery of trace links between requirements and source code, two options for integrating the bimodal language model UniXcoder in FTLR were developed. In a comparison on five datasets for recovering traceability links between requirements and source code, this type of model showed no increase in performance over the more lightweight word embeddings.
Finally, the performance of FTLR was compared to the performance of existing approaches for unsupervised automatic traceability link recovery between requirements and source code. FTLR achieves higher mean average precision and F1-scores than existing approaches on projects that only contain object-oriented source code. However, the results also illustrate that, especially on large projects, all existing approaches including FTLR are still far from achieving the quality that is needed to fully automate traceability link recovery in practice.