This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
How Programmers Debug, Revisited: An Information Foraging Theory Perspective
Feb. 2013 (vol. 39 no. 2)
pp. 197-215
Joseph Lawrance, Wentworth Institute of Technology, Boston
Christopher Bogart, Oregon State University, Corvallis
Margaret Burnett, Oregon State University, Corvallis
Rachel Bellamy, IBM TJ Watson Research Center, Hawthorne
Kyle Rector, Oregon State University, Corvallis
Scott D. Fleming, Oregon State University, Corvallis
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. Therefore, in this paper, we reconsider how people go about debugging in large collections of source code using a modern programming environment. We present an information foraging theory of debugging that treats programmer navigation during debugging as being analogous to a predator following scent to find prey in the wild. 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. We investigate the scope of our theory through an empirical study of 10 professional programmers debugging a real-world open source program. We found that the programmers' verbalizations far more often concerned scent-following than hypotheses. To evaluate the predictiveness of our theory, we created an executable model that predicted programmer navigation behavior more accurately than comparable models that did not consider information scent. Finally, we discuss the implications of our results for enhancing software engineering tools.
Index Terms:
Debugging,Navigation,Topology,Programming environments,Predictive models,Approximation methods,empirical software engineering,Information foraging theory,debugging,software maintenance,programmer navigation,information scent
Citation:
Joseph Lawrance, Christopher Bogart, Margaret Burnett, Rachel Bellamy, Kyle Rector, Scott D. Fleming, "How Programmers Debug, Revisited: An Information Foraging Theory Perspective," IEEE Transactions on Software Engineering, vol. 39, no. 2, pp. 197-215, Feb. 2013, doi:10.1109/TSE.2010.111
Usage of this product signifies your acceptance of the Terms of Use.