Towards a framework for software navigation techniques

  • Authors:
  • Andrew Sutherland;Kevin Schneider

  • Affiliations:
  • University of Saskatchewan, Saskatoon, SK, Canada;University of Saskatchewan, Saskatoon, SK, Canada

  • Venue:
  • Proceedings of the 2008 international workshop on Cooperative and human aspects of software engineering
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Making a change to a large software system requires investing time in understanding the system first. In the context of programming, navigation refers to the process of finding one's way through a complex network of programming constructs and other software artifacts. The process consists of answering questions such as "What am I looking at?" and "What do I want to look at next?", along with the question of "How do I get there?". This paper looks at the range of techniques used to aid navigation, and categorizes them using three perspectives: perceptual techniques, which use graphical representations and exploit spatial memory to aid navigation; filtering techniques, which operate by automatically reducing the amount of information provided so that the appropriate pieces of information are easy to find; and enrichment techniques, which involve augmenting the view of the software with peripheral information, so that the relative information can be more easily identified.