Diplomarbeit, 2008
164 Seiten, Note: 1,5
Diese Diplomarbeit erweitert ein bestehendes Dienstmodell für Program Slicing zu einem komponentenbasierten Referenztool und implementiert dieses exemplarisch für C. Das Hauptziel ist die Entwicklung einer flexiblen und erweiterbaren Architektur, die das Slicen von Quellcode in verschiedenen Programmiersprachen ermöglicht.
1. Einleitung: Dieses Kapitel führt in das Thema Program Slicing ein und beschreibt die Motivation und das Ziel der vorliegenden Diplomarbeit. Es skizziert den Ansatz, ein komponentenbasiertes und adaptierbares Referenztool zu entwickeln, das auf einem neu eingeführten Referenzschema für Programmiersprachen basiert. Die exemplarische Umsetzung für C-Quellcode wird als zentraler Bestandteil der Arbeit hervorgehoben.
2. Grundlagen: Dieses Kapitel legt die theoretischen Grundlagen für die Arbeit dar. Es beschreibt das Konzept des Program Slicing, sowohl statisches Slicing als auch den Datenfluss der Slicing-Dienste. Weiterhin werden das TGraph-Modell und das Referenzschema als wichtige Konzepte erläutert, die die Basis für die Entwicklung des Referenztools bilden. Es stellt die notwendigen Vorarbeiten und das Verständnis für die folgenden Kapitel sicher.
3. Entwicklung eines Referenzschemas für Programmiersprachen: Dieses Kapitel beschreibt die Entwicklung des zentralen Referenzschemas, das die verschiedenen Programmiersprachen auf einer gemeinsamen Basis repräsentiert. Es detailliert den Entwicklungsprozess, die Erweiterung des EL-Schemas und die Abbildung des C-Schemas auf das Referenzschema. Die Herausforderungen bei der Abbildung verschiedener Datenmodelle (ASG, ACFG, PG, CG, ECG, ESDG) für C-Code auf das Referenzschema werden diskutiert und gelöst. Dieser Teil ist entscheidend für die Flexibilität und die Sprachunabhängigkeit des entwickelten Tools.
4. Definition von RePST: In diesem Kapitel werden die Anwendungsfälle, Anforderungen und die Architektur des entwickelten Referenztools (RePST) detailliert beschrieben. Die Anforderungen umfassen funktionale, technische, architekturbezogene, qualitätsbezogene und anwenderseitige Aspekte. Diese umfassende Anforderungsanalyse bildet die Grundlage für den erfolgreichen Design und die Implementierung des Tools.
5. Architektur: Dieses Kapitel beschreibt die Architektur des RePST. Es beleuchtet die verwendeten Architekturmuster, die Eigenschaften der Architektur und detailliert die Architektur der einzelnen Komponenten (ProgramSlicing Tool, ProgramPreprocessor, ProgramSlicer). Die Konfiguration und die Verwendung gemeinsamer Komponenten werden ebenfalls erläutert. Die Beschreibung der Architektur sichert das Verständnis der Implementierung und die Nachvollziehbarkeit der Entscheidungen.
Program Slicing, Referenztool, komponentenbasiert, adaptierbar, C, Referenzschema, Programmiersprachen, Softwaretechnik, Datenfluss, Abstrakter Syntaxgraph (ASG), Erweiterter Kontrollflussgraph (ACFG), Points-to-Graph (PG), Aufrufgraph (CG), Erweiterter Aufrufgraph (ECG), Erweiterter Systemabhängigkeitsgraph (ESDG).
Das Hauptziel ist die Entwicklung eines flexiblen und erweiterbaren, komponentenbasierten Referenztools für Program Slicing, das die Analyse von Quellcode in verschiedenen Programmiersprachen ermöglicht. Die Arbeit implementiert dieses Tool exemplarisch für die Programmiersprache C.
Program Slicing ist eine Technik zur Extraktion relevanter Teile eines Programms, die einen bestimmten Aspekt des Programms beeinflussen oder beeinflusst werden. Die Arbeit behandelt sowohl statisches Slicing als auch den Datenfluss der Slicing-Dienste.
Die Arbeit entwickelt ein Referenzschema für Programmiersprachen, welches als Grundlage für die Entwicklung des komponentenbasierten Tools dient. Dieses Schema ermöglicht die Anpassung des Tools an verschiedene Programmiersprachen, indem verschiedene Programmiersprachen auf einer gemeinsamen Basis repräsentiert werden. Es wird detailliert beschrieben, wie das C-Schema auf dieses Referenzschema abgebildet wird.
RePST ist komponentenbasiert aufgebaut. Die Architektur umfasst Komponenten wie ProgramSlicing Tool, ProgramPreprocessor und ProgramSlicer. Die Arbeit beschreibt detailliert die Architektur der einzelnen Komponenten, ihre Interaktion und die Verwendung gemeinsamer Komponenten. Die Architektur ist modular aufgebaut um Erweiterbarkeit und Anpassungsfähigkeit zu gewährleisten.
Die Arbeit verwendet verschiedene Datenmodelle für C-Code, darunter Abstrakter Syntaxgraph (ASG), Erweiterter Kontrollflussgraph (ACFG), Points-to-Graph (PG), Aufrufgraph (CG), Erweiterter Aufrufgraph (ECG) und Erweiterter Systemabhängigkeitsgraph (ESDG). Die Abbildung dieser Datenmodelle auf das Referenzschema wird ausführlich beschrieben, einschließlich der Herausforderungen und ihrer Lösungen.
Die Anforderungen an RePST umfassen funktionale, technische, architekturbezogene, qualitätsbezogene und anwenderseitige Aspekte, einschließlich Anforderungen an die Benutzerschnittstelle und die Dokumentation. Diese Anforderungen bilden die Grundlage für das Design und die Implementierung des Tools.
Die exemplarische Implementierung des Referenztools erfolgt für die Programmiersprache C.
Schlüsselkonzepte sind Program Slicing, komponentenbasierte Architektur, Adaptierbarkeit, Referenzschema, Datenmodelle (ASG, ACFG, PG, CG, ECG, ESDG), und die Anwendung von Softwaretechnikprinzipien.
Die Diplomarbeit ist in mehrere Kapitel unterteilt, beginnend mit einer Einleitung, gefolgt von Grundlagenkapiteln, der Entwicklung des Referenzschemas, der Definition und Architektur von RePST, der Realisierung der einzelnen Komponenten und abschließenden Schlüssen. Jedes Kapitel wird in der Zusammenfassung der Kapitel detailliert erläutert.
Der GRIN Verlag hat sich seit 1998 auf die Veröffentlichung akademischer eBooks und Bücher spezialisiert. Der GRIN Verlag steht damit als erstes Unternehmen für User Generated Quality Content. Die Verlagsseiten GRIN.com, Hausarbeiten.de und Diplomarbeiten24 bieten für Hochschullehrer, Absolventen und Studenten die ideale Plattform, wissenschaftliche Texte wie Hausarbeiten, Referate, Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Dissertationen und wissenschaftliche Aufsätze einem breiten Publikum zu präsentieren.
Kostenfreie Veröffentlichung: Hausarbeit, Bachelorarbeit, Diplomarbeit, Dissertation, Masterarbeit, Interpretation oder Referat jetzt veröffentlichen!
Kommentare