Diplomarbeit
Protokollierung von Programmiertätigkeiten in der Eclipse-Umgebung
Projekt
Analyse des Programmierprozesses zwecks Vermeidung von Defekten
Art
Implementationsorientierte Arbeit mit der Möglichkeit, eigene Ideen zu verwirklichen
Beschreibung
In dem oben genannten Projekt wird die Hypothese geprüft, ob anhand der Tätigkeiten eines Programmierers Hinweise auf entstehende Fehler (= Fehlverhalten) automatisch entdeckt werden können und somit Defekte vermieden werden können. Die Tätigkeiten eines Programmierers sind etwa
- Programm ausprobieren
- Änderungen am Code an einer Stelle vornehmen
- Pause machen
- Datei abspeichern
- Suchen im Code oder in JavaDoc
- Debugging
und ähnliches. Aus diesen elementaren Ereignissen des Kodierprozesses lassen sich typische Fehlersituationen entdecken, wie etwa
- Mehrfaches Kopieren von Programmzeilen mit nachträglichen Änderungen
- Abgelenkung mitten im Kodierprozess
- Umfangreiche Trial-and-Error-Zyklen
Derzeit sind weder alle diese Fehlersituationen bekannt noch der Nachweis geführt, dass sie auch signifikant häufig zu Defekten im entstehenden Programm führen. Dies soll unter anderem mit Hilfe umfangreicher Datensammlungen geschehen. Daher werden "Logbücher" von Programmiersitzungen aufgenommen und danach analysiert. Einem Entwickler wird mit einem solchen Protokoll zudem ermöglicht, nachträglich und eigenständig das Entstehen des Fehlers nachzuvollziehen und seine Techniken zu verbessern.
Aufgabe
Im Rahmen dieser Diplomarbeit soll die Integrierte Entwicklungsumgebung Eclipse benutzt werden, um oben genannte Daten zu sammeln, d.h. die Tätigkeiten eines Programmierers aufzuzeichnen, ähnlich einem Bewegungsablauf wie im Bild. Dabei macht es keinen Sinn, einzelne Mausbewegungen aufzuzeichnen. Andererseits genügt es auch nicht, lediglich das Abspeichern von Dateien zu protokollieren. Eclipse eignet sich durch seine offene Architektur besonders gut für eine solche Protokollierung. Zentrale Schritte der Arbeit sind
- Einarbeitung in den Forschungsgegenstand und Erhebung der Anforderungen
- Entwurf eines Produkt-unabhängigen Rahmenwerks zur Sammlung und Verdichtung von Ereignissen des Programmierprozesses
- Einarbeitung in die Plug-in Programmierung von Eclipse und dessen Ereignis- und Dokumentenmodell
- Implementieren des Rahmenwerks in Eclipse 3
- Einsatz und Validierung des Werkzeuges im Realeinsatz
- Schriftliche Ausarbeitung und Vortrag
Durchführung
Die Diplomarbeit wurde durchgeführt von
FrankSchlesinger und betreut von
SebastianJekutsch und
LutzPrechelt.
Detailliertere Informationen sind hier zu bekommen:
Ergebnis
Ausarbeitung (= 4 MByte PDF =) und
Software