You are here: SE » ThesesHome » ThesisCodeBrowsing

Diplom-/Masterarbeit

Ermitteln des Aufmerksamkeitsfokus beim Durchsuchen von Code

wuenschelrute

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:
  1. 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.
  2. Bei einem laufenden Projekt oder während eines Experimentes wird das entstandene Werkzeug eingesetzt und evaluiert.
  3. 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.