Abstract
Software maintainers are task-oriented knowledge seekers. They focus
on getting the answers they need to complete a task and they use a
variety of sources and strategies to do it. This thesis describes the
development of a search tool, grug, intended to support program
comprehension. This design was based on two user studies and previous
work on program comprehension models and tools developed by other
researchers. The first study looked at the habits of software maintainers
with access to a software visualization tool, the Portable Bookshelf (PBS).
The strategies used by subjects to complete maintenance tasks indicated
that PBS could be improved by adding a search tool, so that information
relevant to the immediate task could be more easily located. A second
study was undertaken to further characterize programmers' source code
searching behaviour to determine what functionality to include in the
search tool. Based on these studies and a review of other source code
searching and analysis tools, grug was designed. This tool supports
bottom-up code comprehension strategies by allowing users to search
for semantic elements in source code, which they can use to build
higher-level concepts. When integrated with PBS, grug provides
a means of relating program code to the pictorial elements in the
software visualization, thereby supporting top-down code comprehension
strategies. The suite of tools taken together support multiple
comprehension strategies and transitions between them.
|