Towards Developer- and Task-Tailored Navigation Models

Authors: K. Kevic, T. Fritz.

Developers spend a substantial amount of their time navigating source code to locate the places which are relevant for the task at hand. Current recommendation approaches that support a developer in this costly activity, accentuate different aspects of code structure or a developer’s interaction to infer the elements a developer might want to navigate to next. While some recommendation approaches use models that, for instance, focus predominantly on the source code topology, such as method call relations, others focus on the frequency and recency of previously visited code elements. All of these approaches generally use the same underlying model throughout the change task session, regardless of the specific developer or the type of change task. Thus, they have the implicit premise that developers’ information needs and navigation behaviour stays the same over time and across developers and tasks. In on our research on developers’ navigation, we saw, however, that a developer’s navigation behaviour varies a lot over the course of a change task and across developers. This suggests that a model that dynamically adapts to the developer’s navigation behaviour and information needs could provide much better support in recommending relevant elements to developers. The goal of the presented work is to investigate how a developer’s information needs and navigation behaviour change over the course of a change task. With a better understanding, we will be able to develop recommendation models that better tailor the recommendations to the developer and the tasks and thus provide more relevant recommendations.

Full Paper