PPIG 2022 - 33rd Annual Workshop
A Tour Through Code: Helping Developers Become Familiar with Unfamiliar Code
Grace Taylor, Steven Clarke
Abstract: Becoming familiar with an existing code base can be a challenging and time-consuming process. A developer who is new to a code base and needs to implement a new feature or fix a bug might browse and search the code base for locations providing good starting points for their task. From these starting points they may then navigate to other locations in the code base by traversing semantic and other relationships in the source code that may be relevant to their task. Although most developer tools provide ways to discover some of these different relationships, the relevance of specific relationships can often only be determined after traversing the relationship. This often necessitates some amount of backtracking as a developer navigates one relationship to a new destination in the source code, only to find that the destination is not relevant to their task. Furthermore, many such relationships between different locations in source code cannot easily be determined by developer tools alone. This paper presents the results of a study that investigated the use of CodeTour, a tool that enables the creation and presentation of annotated code tours through a code base. Such tours can indicate relationships between locations in a code base that are relevant to a task, but which could be difficult to identify using regular features found in developer tools. The paper describes the extent to which these code tours helped developers find the source of bugs and compares the experience with those who attempted the same task without the tool.