Modeling Source Code Navigation - overview
Many theories of human debugging rely on complex mental constructs that offer little practical advice to builders of software engineering tools. Although hypotheses are important in debugging, a theory of navigation adds more practical value to our understanding of how programmers debug. We are researching how people go about debugging in large collections of source code using a modern programming environment.
We are exploring whether information foraging theory can be applied to programmer navigation during debugging. Foraging theory models animals foraging for food as a predator following scent to find prey. By analogy information foraging theory models a person navigating through information as following the scent of words to find a specific piece of information.
As applied to source code navigation, the theory proposes that constructs of scent and topology provide enough information to describe and predict programmer navigation during debugging, without reference to mental states such as hypotheses.This work is being done as part of an IBM Open Collaborative Research Grant with Dr Margaret Burnett of Oregon State University.