Diplom-/Masterarbeit
Ermitteln des Aufmerksamkeitsfokus beim Durchsuchen von Code
- Diplom-/Masterarbeit
- Eigene Ideen und Interessen lassen sich gut in die Arbeit einbauen. Durch Einschränkung des Umfanges ließe sich auch eine Bachelor- oder Studienarbeit zu dem gleichen Thema vergeben.
- Projekt: Aufzeichnen des Mikroprozesses der Softwareentwicklung
- Arbeitsaufwand:
- Studien-/Bachelor: 10% Theorie, 70% Implementation, 20% Evaluation
- Diplom-/Master: 20% Theorie (mit Eigenanteil), 50% Implementation, 30% Evaluation
- Verwandte Arbeiten:
Beschreibung
In dem oben genannten Projekt werden die einzelnen Tätigkeiten eines Programmierers zwecks detaillierter Analyse aufgezeichnet. Eine häufige Aktion und Arbeit eines Programmierers ist das Suchen im Code, um z.B. ein fremdes Programm zu verstehen oder eine passende Methode aus einer API auszuwählen.
Es ist von großem Interesse, feststellen zu können, nach was und auf welche Weise ein Programmierer zu einem Zeitpunkt sucht. Schon eine einfache Aussage über den Aufmerksamkeitsfokus auf z.B. eine Methode einer Klasse kann genügen um festzustellen,
- ob intensiv an einer Stelle gelesen wird oder eher in die Breite gehend eine passende Stelle gesucht wird
- ob der Programmierer sich in dem Suchbereich auskennt oder nicht
- welche Code-Teile zusammen zu gehören scheinen
- welche Pfade durch ein Programm oder eine API von Neulingen genommen werden, um einen Überblick zu bekommen und die Verständlichkeit einer API zu beurteilen
Solche einzelnen Durchsuchaktionen - üblicherweise "Browsen" genannt - müssen automatisch aufgezeichnet werden können, um eine systematische Beobachtung einer größeren Gruppe von Programmierern durchführen zu können.
Das Ergebnis einer solchen Aufzeichnung wäre eine XML-basierte Liste von "Browse"-Ereignissen. Diese könnten grafisch in Form von zweidimensionalen Plots aufbereitet werden, um z.B. zu illustrieren
- welche Codestellen zeitlich aufeinanderfolgend besucht wurden
- wie sich über die Zeit der Fokus verschoben hat
- wieviel Zeit pro Stelle verwendet wurde
Aufgabe
Ziel dieser Arbeit ist es, diese automatische Aufzeichnung zu realisieren und in der Praxis einzusetzen:
- Es gibt fertige Arbeiten im Bereich Aufmerksamkeitsfokus beim Code-Browsen, siehe Quellen. Diese Arbeiten gilt es zu portieren, re-implementieren oder einzubinden in unser schon vorhandenes Rahmenwerk (Java, Eclipse) zur Aufzeichnung des Mikroprozesses, also der Aktivitäten eines Programmierers.
- Bei einem laufenden Projekt oder während eines Experimentes wird das entstandene Werkzeug eingesetzt und evaluiert.
- Zusätzlich kann eine geeignete Auswertung der Durchsuchereignisse erfolgen, d.h. das Zusammenfassen der Daten in Form von Fokuscluster, typischer Suchpfade und Qualitäten des Durchsuchens. Alternativ kann auch an einer guten grafischen Darstellung der Aufzeichnungen gearbeitet werden, die solch explorative Datenarbeit gut unterstützt.
Wie üblich schließt die Arbeit mit einer schriftlichen Ausarbeitung und einem Vortrag ab.
Kontakt
Diese Arbeit wird angeboten von
SebastianJekutsch und
LutzPrechelt.
Quellen
Detailierte Aufgabenbeschreibung
Dieses Thema wurde im Zuge der
ThesisFuzzyFocusTracker Bachelorarbeit bearbeitet.