You are here: SE » ThesesHome » ThesisCodeMetamorphoses

Studienarbeit

Animation vergangener Codeänderungen von Java-Methoden

Projekte

Micro-process of software development, Error prevention in software development

Art

Implementationsorientierte Arbeit mit graphischen Anteil

Problembeschreibung

In der Forschung zu Fehlerursachen beim Programmieren wird besonderes Augenmerk auf die Unterscheidung von Phasen des unsicheren, anfängerhaften Arbeitens im Vergleich zu dem geplanten Vorgehens eines Experten gelegt. Eine solche Unterscheidung wird unter anderem sichtbar bei der Art und Weise der Erstellung und Entwicklung von Codefragmenten, der sogenannten Mikroevolution. So zeigt sich ein überlegtes, geplantes Vorgehen in einem linearen oder an Muster orientiertem Vorgehen, während Programmierer, die sich ihrer Sache nicht sicher sind, ein eher chaotisches Verhalten in der Art und Reihenfolge von Codeänderungen zeigen.

Zur genauen Charakterisierung der Unterschiede bedarf es noch einiger Forschung. Ein Problem ist die derzeit noch unanschauliche Form der Beobachtung von Mikroevolutionen. Im Rahmen der Unternehmungen zur Visualisierung des Programmiermikroprozesses soll daher auch eine Codeänderungsvisualisierung realisiert werden.

Aufgabe

Ziel dieser Arbeit ist es, ein Werkzeug zu Visualisierung der Mikroevolution zu beginnen. Die Aufzeichnung des Mikroprozesses (siehe ElectroCodeoGram und ThesisEclipsemonitor) liefert unter anderem Codeänderungen in feinen Schritten in einer XML-Repräsentation. Diese sind pro Klasse aufgeschlüsselt nach Methoden in einer Art Video animiert darzustellen, so dass man die Evolution einer Methode über die Zeit leicht erkennen kann - ähnlich wie bei Wolkenbildern der vergangenen Stunden. Diese Animation sollte die Zeit stauchen, aber auch Lücken überbrücken können. Ferner sollte erkennbar sein, welche Codeteile wie lange nicht mehr geändert wurden. Die Visualisierung ist (voraussichtlich) in der Eclipse-Entwicklungsumgebung zu realisieren.

Der Ablauf der Arbeit gestaltet sich grob wie folgt:
  1. Einarbeitung in das Forschungsthema und die vorliegenden Anforderungen und Probleme
  2. Kurzer, formloser, öffentlicher Vortrag zwecks Erläuterung der Vorgehensideen und deren Diskussion
  3. Klärung der technischen Bedingungen (Eclipse, XML-Format, evtl. Parser)
  4. Entwurf und Begründung der entsprechenden Entscheidungen
  5. Implementation und ausreichende Dokumentation
  6. Einsatz in einer kleinen Fallstudie
Die Arbeit schließt wie üblich mit einer Ausarbeitung und einem Vortrag ab.

Ergebnis

Die Arbeit wurde durchgeführt von MarcoKranz und betreut von SebastianJekutsch und LutzPrechelt.

Detailliertere Informationen sind hier zu bekommen: