Zur Seitenansicht
 

Titelaufnahme

Titel
Elicitation and validation of requirements-to-code traceability / eingereicht von: Achraf Ghabi
VerfasserGhabi, Achraf
Begutachter / BegutachterinEgyed, Alexander ; Mäder, Patrick
ErschienenLinz, Oktober 2015
Umfangxi, 119 Blätter : Illustrationen
HochschulschriftUniversität Linz, Univ., Dissertation, 2015
Anmerkung
Zusammenfassung in deutscher Sprache
Parallelt. [Übers. des Autors]: Elicitation and validation of requirements-to-code traceability
SpracheEnglisch
Bibl. ReferenzOeBB
DokumenttypDissertation
Schlagwörter (DE)Traceability Erfassung / Traceability Validierung
Schlagwörter (EN)Traceability Elicitation / Traceability Validation
Schlagwörter (GND)Softwareprodukt / Rückverfolgbarkeit / Validierung / Erfassung
URNurn:nbn:at:at-ubl:1-6001 Persistent Identifier (URN)
Zugriffsbeschränkung
 Das Werk ist gemäß den "Hinweisen für BenützerInnen" verfügbar
Dateien
Elicitation and validation of requirements-to-code traceability [1.46 mb]
Links
Nachweis
Klassifikation
Zusammenfassung (Deutsch)

Traces between requirements and code are proven to save effort and improve quality of software products. Such traces are essential for code understanding and change management. However, capturing and maintaining traceability remains highly unreliable. Traceability is rarely captured immediately while requirements and code co-evolve.

Instead they are usually recovered later. At that time, key people may have moved or their recollection of facts may be incomplete or inconsistent.

In this thesis we present two complementary approaches for trace capture and maintenance in the presence of incompleteness and inconsistency.

In the first approach we propose a novel technique for capturing traceability that allows software engineers to express arbitrary assumption about the traceability between requirements and code -- even assumptions that may be inconsistent or incomplete. Our approach takes these assumptions to reasons about the logical consequences (hence increasing completeness) and to reveal inconsistencies, if any (hence increasing correctness).

In the second approach, we propose a novel technique for validating and predicting requirements-to-code traces through calling relationships within the code. As input, the approach requires an executable system, the corresponding requirements, and some initial requirements-to-code traces. As output, the approach validates the input by identifying likely incorrect traces using trace distribution patterns in calling relationships.

Zusammenfassung (Englisch)

Traces zwischen Anforderungen und Code verringern den Aufwand und steigern die Qualität von Software-Produkten. Diese Traces sind besonders wichtig, um Code verstehen und Änderungen nachvollziehen zu können. Trotzdem ist die Erstellung und Pflege der Traceability noch unzuverlässig. Traceability wird selten direkt erfasst, während Anforderungen und Code sich gemeinsam weiterentwickeln. Stattdessen werden sie in der Regel später wieder erlangt. Zu dieser Zeit könnten Schlüsselpersonen die Arbeit gewechselt haben und deren Erinnerung an Fakten könnten unvollständig oder inkonsistent sein.

Wir zeigen in dieser Arbeit zwei komplementäre Ansätze auf, die die Traceerfassung und -wartung verbessern.

Im ersten Ansatz entwickeln wir eine neue Technik, die Software-Ingenieure erlaubt, Traceability zwischen Anforderungen und Code aus willkürlichen Annahmen zu erstellen -- auch wenn diese Annahmen inkonsistent oder unvollständig sind. Unser Ansatz leitet aus diesen Annahmen logische Schlussfolgerungen ab, um fehlende Traces zu finden oder inkonsistente Traces zu identifizieren.

Im zweiten Ansatz stellen wir eine neue Technik für die Validierung und die Vorhersage von Traces vor, indem Beziehungen innerhalb des Codes aufgerufen werden. Als Eingabe, erfordert der Ansatz ein ausführbares System, die entsprechenden Anforderungen und einige anfängliche Traces zwischen Anforderung und Code. Als Ausgabe validiert dieser Ansatz die vermutlich falschen Traces, indem Untersuchungen an Mustern in verteilten Traces über Aufrufbeziehungen durchgeführt werden.