NavTracks: supporting navigation in software

Any modification to a software system involves investigating the source code with the goal of understanding it. In turn, this investigation usually requires significant navigation effort. However, relatively little research has been conducted on software developer navigation patterns and tool support for improving navigation. Our research addresses this issue. We present NavTracks, a tool that supports browsing through software. NavTracks keeps track of the navigation history of software developers, forming associations between related files. These associations are then used as the basis for recommending potentially related files as a developer browses the software system.

[1]  Alan Wexelblat,et al.  Communities through Time: Using History for Social Navigation , 1998, Community Computing and Support Systems.

[2]  Matthew Chalmers,et al.  The Order of Things: Activity-Centred Information Access, , 1998, Comput. Networks.

[3]  Hausi A. Müller,et al.  Cognitive design elements to support the construction of a mental model during software exploration , 1999, J. Syst. Softw..

[4]  Charles L. A. Clarke,et al.  Browsing and searching software architectures , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[5]  Pattie Maes,et al.  Footprints: history-rich tools for information foraging , 1999, CHI '99.

[6]  Hausi A. Müller,et al.  How do program understanding tools affect how programmers understand programs? , 2000, Sci. Comput. Program..

[7]  Leon Moonen,et al.  Exploring software systems , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[8]  Kent Beck,et al.  Contributing to Eclipse - principles, patterns, and plug-ins , 2003, The Eclipse series.

[9]  Martin P. Robillard,et al.  How effective developers investigate source code: an exploratory study , 2004, IEEE Transactions on Software Engineering.

[10]  Qin Zhang,et al.  Improving software development management through software project telemetry , 2005, IEEE Software.