How Programmers Debug, Revisited: An Information Foraging Theory Perspective Public Deposited

http://ir.library.oregonstate.edu/concern/defaults/wp988m02z

This is the author's peer-reviewed final manuscript, as accepted by the publisher. The published article is copyrighted by IEEE and can be found at:  http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32. ©201X IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other users, including reprinting/ republishing this material for advertising or promotional purposes, creating new collective works for resale or redistribution to servers or lists, or reuse of any copyrighted components of this work in other works.

Descriptions

Attribute NameValues
Creator
Abstract or Summary
  • 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.
Resource Type
DOI
Date Available
Date Issued
Citation
  • Lawrance, J., Bogart, C., Burnett, M., Bellamy, R., Rector, K., & Fleming, S. D. (2013). How programmers debug, revisited: An information foraging theory perspective. IEEE Transactions on Software Engineering, 39(2) 197-215. doi: 10.1109/TSE.2010.111
Series
Keyword
Rights Statement
Funding Statement (additional comments about funding)
Publisher
Peer Reviewed
Language
Replaces
Additional Information
  • description.provenance : Approved for entry into archive by Deanne Bruner(deanne.bruner@oregonstate.edu) on 2013-03-09T01:05:25Z (GMT) No. of bitstreams: 1 BurnettMargaretElectricalEngineeringComputerScienceHowProgrammersDebug.pdf: 4379429 bytes, checksum: fab79f8bad70b2c120c01ffbeb50568a (MD5)
  • description.provenance : Submitted by Deanne Bruner (deanne.bruner@oregonstate.edu) on 2013-03-09T01:03:29Z No. of bitstreams: 1 BurnettMargaretElectricalEngineeringComputerScienceHowProgrammersDebug.pdf: 4379429 bytes, checksum: fab79f8bad70b2c120c01ffbeb50568a (MD5)
  • description.provenance : Made available in DSpace on 2013-03-09T01:05:25Z (GMT). No. of bitstreams: 1 BurnettMargaretElectricalEngineeringComputerScienceHowProgrammersDebug.pdf: 4379429 bytes, checksum: fab79f8bad70b2c120c01ffbeb50568a (MD5) Previous issue date: 2013-02

Relationships

In Administrative Set:
Last modified: 07/18/2017

Downloadable Content

Download PDF
Citations:

EndNote | Zotero | Mendeley

Items