Seesoft-A Tool for Visualizing Line Oriented Software Statistics
IEEE Transactions on Software Engineering - Special issue on software measurement principles, techniques, and environments
Data mountain: using spatial memory for document management
Proceedings of the 11th annual ACM symposium on User interface software and technology
Readings in information visualization: using vision to think
Readings in information visualization: using vision to think
GROK — a knowledge-based text processing system
CSC '86 Proceedings of the 1986 ACM fourteenth annual conference on Computer science
Designing and deploying an information awareness interface
CSCW '02 Proceedings of the 2002 ACM conference on Computer supported cooperative work
Hipikat: recommending pertinent software development artifacts
Proceedings of the 25th International Conference on Software Engineering
ICSE '81 Proceedings of the 5th international conference on Software engineering
Using a behavioral theory of program comprehension in software engineering
ICSE '78 Proceedings of the 3rd international conference on Software engineering
The Eyes Have It: A Task by Data Type Taxonomy for Information Visualizations
VL '96 Proceedings of the 1996 IEEE Symposium on Visual Languages
WPC '97 Proceedings of the 5th International Workshop on Program Comprehension (WPC '97)
HSML: Design Directed Source Code Hot Spots
IWPC '01 Proceedings of the 9th International Workshop on Program Comprehension
From brains to branch points: cognitive constraints in navigational design
From brains to branch points: cognitive constraints in navigational design
Hipikat: A Project Memory for Software Development
IEEE Transactions on Software Engineering
Faster document navigation with space-filling thumbnails
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Code Thumbnails: Using Spatial Memory to Navigate Source Code
VLHCC '06 Proceedings of the Visual Languages and Human-Centric Computing
Shared waypoints and social tagging to support collaboration in software development
CSCW '06 Proceedings of the 2006 20th anniversary conference on Computer supported cooperative work
FASTDash: a visual dashboard for fostering awareness in software teams
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Supporting group awareness in distributed software development
EHCI-DSVIS'04 Proceedings of the 2004 international conference on Engineering Human Computer Interaction and Interactive Systems
Software landscapes: visualizing the structure of large software systems
VISSYM'04 Proceedings of the Sixth Joint Eurographics - IEEE TCVG conference on Visualization
Hi-index | 0.00 |
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.