Diplomarbeit

Als Abschluss meines Studiums habe ich eine Diplomarbeit mit dem Titel

codation – Verbindung von Code mit Zusatzinformation

angefertigt, die über den untenstehenden Link heruntergeladen werden kann. In der Diplomarbeit habe ich einige Eclipse-Plugins entwickelt. Diese stehen unter der EPL und sind sowohl in ausführbarer Form als auch im Quellcode frei verfügbar (siehe unten).

Die Diplomarbeit wurde an der Abteilung Software Engineering am Institut für Softwaretechnologie der Fakultät für Informatik, Elektrotechnik und Informationstechnik der Universität Stuttgart durchgeführt. Dort existiert ebenfalls eine Website mit Informationen zu dieser Diplomarbeit: Link.

Zusammenfassung der Diplomarbeit

Häufig werden auf den Quelltext verweisende zusätzliche Informationen erhoben, z. B. die Ergebnisse einer Programm-Analyse. Da die Erhebung der Zusatzinformationen aufwändig sein kann, wird eine Möglichkeit benötigt, die Zusatzinformationen zusammen mit dem Quelltext speichern und somit wiederverwenden zu können. Zu diesem Zweck wurde in der vorliegenden Diplomarbeit Codation entwickelt. Codation ist ein Informationsmodell, in dem Zusatzinformationen zusammen mit Quelltext gespeichert und nach Änderungen am Quelltext automatisch nachgezogen werden können. Wesentliche Vorteile von Codation gegenüber anderen Werkzeugen sind die automatische Synchronisation nach Änderungen und die erweiterbare Architektur, die es ermöglicht, Zusatzinformationen zu beliebigen Dateitypen zu speichern.

Die prototypische Implementierung des Informationsmodells als Eclipse-Plugin erlaubt es, von Zusatzinformationen auf syntaktische Elemente von Java-Dateien zu verweisen. Das Synchronisationsverfahren liefert Änderungsinformationen auf syntaktischer Ebene. Dadurch ergeben sich Möglichkeiten, die über die von rein lexikalisch arbeitenden Programmen wie diff hinausgehen.

Downloads

Bitte beachten Sie die auf der Update-Site angegebenen Systemvoraussetzungen. Beachten Sie außerdem bitte neben der Lizenz von Codation auch die Lizenzen der verwendeten Bibliotheken. Die folgenden Bibliotheken, bei deren Entwicklern ich mich hiermit ausdrücklich bedanke, werden verwendet: