Program navigation analysis to support task-aware software development environments

Martin P. Robillard · 2004

Performing a software modification requires a developer to investigate a program to find and understand the code relevant to the modification task. Although standard program investigation tools can help developers in this activity, developers often get lost in the complex web of information available about a program. To address this problem we propose to use program navigation analysis, a technique to record and analyze the actions of a developer using a software development environment in order to infer the current task and the subset of a program relevant to this task. Our hypothesis is that we can use the results of program navigation analysis to dynamically configure the interface of a software development environment in a way that alleviates the problems of disorientation experienced by developers. In this paper, we define program navigation analysis and present an overview of its underpinnings, summarize our experience with the technique, highlight important technical challenges, and discuss the benefits that can be reaped from use of the technique.

Read the paper · More papers on PaperTik