Not logged in.

Contribution Details

Type Master's Thesis
Scope Discipline-based scholarship
Title Capturing and visualizing context models in Visual Studio: support developers in understanding and comprehension code
Organization Unit
Authors
  • Siarhei Pashkou
Supervisors
  • Thomas Fritz
Language
  • English
Institution University of Zurich
Faculty Faculty of Economics, Business Administration and Information Technology
Number of Pages 48
Date 2013
Abstract Text Software developers spend much time on navigation and comprehension of code. While navigating through the code, developers build a mental model of the code. When developers are asked to draw these mental models, they draw diagrams, which often consist of objects and relations that help developers to understand the code. We developed a tool that maintains and visualizes context models, which represent these diagrams. By displaying the context model to developers while navigating through the code, we expect developers to be more efficient because they can follow track of objects and relationships displayed in the model. Developers often navigate to irrelevant code respective to the current task. In our approach, we included special proactive navigation mechanisms that help developers to avoid navigating to irrelevant code and keep developers more focused on the task. In our approach we combine context models and proactive navigation mechanism. To evaluate our approach we simulated the developer’s interaction of a previous study with our tool running in Microsoft Visual Studio. The data from the previous study contains diagrams which developers drew after they complete their tasks. We compared these diagrams with the context models displayed by our tool. The precision of the generated context model is about 75%. This indicates that the tool can automatically build models which contain elements that developers mentioned to be most relevant. The results also show that the objects of all simulated steps that lead the developer to previously visited code were displayed by our tool in 100% of cases before the revisit happened. We believe that our approach can help developers to work more efficiently because they could avoid many revisitations with our tool.
Zusammenfassung Software-Entwickler verbringen viel Zeit mit der Navigation und dem Verständnis des Codes. Während der Navigationen durch den Code, bauen die Entwickler im Hintergrund die so genannten ’mentale Modelle’ des Codes. Ein mentales Modell besteht aus Objekten und Verbindungen, welche einem Entwickler helfen den Code zu verstehen. Zur Unterstützung und Visualisierung von solchen Modelle haben wir ein Tool gebaut. Das Tool soll dabei helfen, dass ein Entwickler Kontext Modelle effizienter benutzt und den Code besser versteht. Eines der grössten Probleme der Entwicklern besteht darin, dass Sie oft zu irrelevantem Code navigieren. Wir haben in unser Tool spezielle Navigationmechanismen eingefügt, welche den Entwicklern dabei helfen, den irrelevanten Code zu vermeiden. Um unseren Ansatz zu bewerten, haben wir die Interaktionen des Entwicklers mit Microsoft Visual Studio simuliert. Die Daten aus früheren Forschungen enthalten mentale Modelle von Entwicklern, die (Entwickler) unterschiedliche Prüfaufgaben gelöst haben. Wir haben die mentalen Modelle der Entwickler mit den Kontext Modellen von unserem Tool verglichen. Die Ergebnisse zeigen, dass die Modelle sehr ähnlich sind. Wir glauben, dass unser Tool die Kontext Modelle, die Entwickler benötigen, bauen kann.
PDF File Download
Export BibTeX