Not logged in.

Contribution Details

Type Master's Thesis
Scope Discipline-based scholarship
Title Developer context model visualization: helping developers to understand code by presenting an interactive model of the developer's context
Organization Unit
Authors
  • Christoph Bräunlich
Supervisors
  • Thomas Fritz
Language
  • English
Institution University of Zurich
Faculty Faculty of Economics, Business Administration and Information Technology
Number of Pages 47
Date 2013
Abstract Text Software developers spend a significant amount of their time interpreting and navigating through code. During this process developers build an implicit model of the code structure relevant to the current task they are working on. In an exploratory study we conducted, 68% of the navigation steps of developers working on bug fixing tasks, were revisits. Based on the results of the study, we developed an approach that automatically captures a developer's interaction with code elements in an IDE and presents the relevant code structure graphically to the developer. To evaluate how relevant the elements in the generated diagram are, we simulated the developer's interaction with the IDE that we recorded during the exploratory study. We compared the elements in the diagram after each simulated step of interaction with a chart of relevant code elements that the study subjects drew after completing their tasks. The results show that in the simulations the elements which the study subject revisited were visible in the generated diagram before the re-visitation happened. From this finding, we can imply that the prototype has a potential to save time in software change tasks. Finally, we propose improvements to the system based on our evaluation.
Zusammenfassung Software Entwickler setzen einen signifikanten Teil ihrer Zeit zum Interpretieren und Navigieren durch Quellcode ein. Für ihre aktuelle Aufgabe bilden die Entwickler ein implizites Modell der Code-Struktur. In einer eigenen explorativen Studie mit Entwicklern, die an Fehlerbehebungsaufgaben arbeiteten, führten 68% aller Schritte zu Code-Elementen, die der Entwickler bereits inspiziert hatte. Basierend auf dieser Studie entwickelten wir einen Prototypen, der automatisch die Interaktion zwischen Entwickler und Entwicklungsumgebung registriert und die als relevant eingestuften Code Elemente graphisch darstellt. Zur Untersuchung der Frage, ob die als relevant kategorisierten Code-Elemente für Entwickler effektiv als relevant angesehen werden, simulierten wir die Interaktionen, die während der Studie aufgezeichnet wurden. Wir verglichen die Elemente im automatisch erstellten Diagramm mit Elementen aus den Diagrammen, die die Studienteilnehmer zeichneten, nachdem sie ihre Aufgabe erfüllt hatten. Die Resultate der Evaluation zeigten, dass die Code-Elemente, die mehrfach besucht wurden in der Simulation vor dem wiederholten Besuch angezeigt. Aus diesem Befund lässt sich ein Potenzial ableiten, dass mit diesem Ansatz in Aufgaben für Programmänderungen Effizienzsteigerungen erzielt werden können. Die Arbeit schliesst mit einer Analyse des entwickelten Prototypen und schlägt Verbesserungen vor
PDF File Download
Export BibTeX