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:
- Einarbeitung in das Forschungsthema und die vorliegenden Anforderungen und Probleme
- Kurzer, formloser, öffentlicher Vortrag zwecks Erläuterung der Vorgehensideen und deren Diskussion
- Klärung der technischen Bedingungen (Eclipse, XML-Format, evtl. Parser)
- Entwurf und Begründung der entsprechenden Entscheidungen
- Implementation und ausreichende Dokumentation
- 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: