224
Views
99
CrossRef citations to date
0
Altmetric
Original Articles

Debugging: An Analysis of Bug-Location Strategies

Pages 351-399 | Published online: 11 Nov 2009

Keep up to date with the latest research on this topic with citation updates for this article.

Read on this site (11)

David DeLiema, Yejin Angela Kwon, Andrea Chisholm, Immanuel Williams, Maggie Dahn, Virginia J. Flood, Dor Abrahamson & Francis F. Steen. (2023) A Multi-dimensional Framework for Documenting Students’ Heterogeneous Experiences with Programming Bugs. Cognition and Instruction 41:2, pages 158-200.
Read now
Adon Christian Michael Moskal & Rob Wass. (2019) Interpersonal process recall: a novel approach to illuminating students’ software development processes. Computer Science Education 29:1, pages 5-22.
Read now
Beth Simon, Dennis Bouvier, Tzu-Yi Chen, Gary Lewandowski, Robert McCartney & Kate Sanders. (2008) Common sense computing (episode 4): debugging. Computer Science Education 18:2, pages 117-133.
Read now
Renée McCauley, Sue Fitzgerald, Gary Lewandowski, Laurie Murphy, Beth Simon, Lynda Thomas & Carol Zander. (2008) Debugging: a review of the literature from an educational perspective. Computer Science Education 18:2, pages 67-92.
Read now
Sue Fitzgerald, Gary Lewandowski, Renée McCauley, Laurie Murphy, Beth Simon, Lynda Thomas & Carol Zander. (2008) Debugging: finding, fixing and flailing, a multi-institutional study of novice debuggers. Computer Science Education 18:2, pages 93-116.
Read now
Siu-Yee Wong Him Cheung Hsuan-Chih Chen. (1998) The Advanced Programmer's Reliance on Program Semantics: Evidence from some Cognitive Tasks. International Journal of Psychology 33:4, pages 259-268.
Read now
Shane Sharpe. (1997) Unifying Theories of Program Comprehension. Journal of Computer Information Systems 38:1, pages 86-93.
Read now
Douglas C. Merrill, Brian J. Reiser, Shannon K. Merrill & Shari Landes. (1995) Tutoring: Guided Learning by Doing. Cognition and Instruction 13:3, pages 315-372.
Read now
DavidB. Bisant & Lowell Groninger. (1993) Cognitive processes in software fault detection: A review and synthesis. International Journal of Human–Computer Interaction 5:2, pages 189-206.
Read now
Nicole Panorkou, Toni York & Erell Germia. Using Debugging as a Platform for Transdisciplinary Learning. Cognition and Instruction 0:0, pages 1-35.
Read now

Articles from other publishers (88)

Minhyuk Ko, Dibyendu Brinto Bose, Hemayet Ahmed Chowdhury, Mohammed Seyam & Chris Brown. (2023) Exploring the Barriers and Factors that Influence Debugger Usage for Students. Exploring the Barriers and Factors that Influence Debugger Usage for Students.
Rene Fabián Zúñiga Muñoz, Isabel Cristina Mejía Córdoba, Byron Giovanny Salazar España, Marilyn Tenorio Melenje, María Alejandra Trujillo Medina & Julio Ariel Hurtado Alegría. (2023) Adjusting the ChildProgramming Methodology to Educational Robotics Teaching and Debugging. Education Sciences 13:9, pages 936.
Crossref
ChanMin Kim, Emre Dinç, Eunseo Lee, Afaf Baabdullah, Anna Y. Zhang & Brian R. Belland. (2023) Revisiting Analogical Reasoning in Computing Education: Use of Similarities Between Robot Programming Tasks in Debugging. Journal of Educational Computing Research 61:5, pages 1036-1063.
Crossref
Abdulaziz Alaboudi & Thomas D. LaToza. (2023) What constitutes debugging? An exploratory study of debugging episodes. Empirical Software Engineering 28:5.
Crossref
Jonathan Bowers, Emanuel Eidin, Lynn Stephens & Linsey Brennan. (2023) Examining Student Testing and Debugging Within a Computational Systems Modeling Context. Journal of Science Education and Technology 32:4, pages 607-628.
Crossref
Jacqueline Whalley, Amber Settle & Andrew Luxton-Reilly. (2023) A Think-Aloud Study of Novice Debugging. ACM Transactions on Computing Education 23:2, pages 1-38.
Crossref
Yingbin Zhang, Luc Paquette, Juan D. Pinto, Qianhui Liu & Aysa Xuemo Fan. (2022) Combining latent profile analysis and programming traces to understand novices’ differences in debugging. Education and Information Technologies 28:4, pages 4673-4701.
Crossref
Sebastian Garces, Camilo Vieira, Guity Ravai & Alejandra J. Magana. (2022) Engaging students in active exploration of programming worked examples. Education and Information Technologies 28:3, pages 2869-2886.
Crossref
ChanMin Kim, Lucas Vasconcelos, Brian R. Belland, Duygu Umutlu & Cory Gleasman. (2022) Debugging behaviors of early childhood teacher candidates with or without scaffolding. International Journal of Educational Technology in Higher Education 19:1.
Crossref
Yana Malysheva & Caitlin Kelleher. (2022) Assisting Teaching Assistants with Automatic Code Corrections. Assisting Teaching Assistants with Automatic Code Corrections.
Mohammed Hassan & Craig Zilles. (2022) On Students' Ability to Resolve their own Tracing Errors through Code Execution. On Students' Ability to Resolve their own Tracing Errors through Code Execution.
Tilman Michaeli & Ralf Romeike. 2022. Informatics in Schools. A Step Beyond Digital Education. Informatics in Schools. A Step Beyond Digital Education 78 89 .
Michael Lachney, Aman Yadav, Matt Drazin, Madison C. Allen & William Babbitt. (2021) Culturally Responsive Debugging: a Method to Support Cultural Experts’ Early Engagement with Code. TechTrends 65:5, pages 771-784.
Crossref
Fan Yang, Zhenghong Dong & Zhongwang Wu. (2021) Students’ Debugging Behavior Analysis in Game-Based Learning. Students’ Debugging Behavior Analysis in Game-Based Learning.
Tilman Michaeli & Ralf Romeike. (2021) Developing a Real World Escape Room for Assessing Preexisting Debugging Experience of K12 Students. Developing a Real World Escape Room for Assessing Preexisting Debugging Experience of K12 Students.
Joseph Ditton, Hillary Swanson & John Edwards. (2021) External Imagery in Computer Programming. External Imagery in Computer Programming.
Jacqueline Whalley, Amber Settle & Andrew Luxton-Reilly. (2021) Novice Reflections on Debugging. Novice Reflections on Debugging.
Jacqueline Whalley, Amber Settle & Andrew Luxton-Reilly. (2021) Analysis of a Process for Introductory Debugging. Analysis of a Process for Introductory Debugging.
Tilman Michaeli & Ralf Romeike. (2020) Investigating Students’ Preexisting Debugging Traits: A Real World Escape Room Study. Investigating Students’ Preexisting Debugging Traits: A Real World Escape Room Study.
Rifat Sabbir Mansur, Ayaan M. Kazerouni, Stephen H. Edwards & Clifford A. Shaffer. (2020) Exploring the Bug Investigation Techniques of Intermediate Student Programmers. Exploring the Bug Investigation Techniques of Intermediate Student Programmers.
Kshitij Sharma, Evangelos Niforatos, Michail Giannakos & Vassilis Kostakos. (2020) Assessing Cognitive Performance Using Physiological and Facial Features. Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies 4:3, pages 1-41.
Crossref
Selina N. Emhardt, Ellen M. Kok, Halszka JarodzkaSaskia Brand‐Gruwel, Christian Drumm & Tamara van Gog. (2020) How Experts Adapt Their Gaze Behavior When Modeling a Task to Novices. Cognitive Science 44:9.
Crossref
Michael Schneider, Chris Hill, Ann Eisenberg, Mark Gross & Arielle Blum. (2020) A Software Debugger for E-textiles and Arduino Microcontrollers. A Software Debugger for E-textiles and Arduino Microcontrollers.
Karin Laumann & Martin Rasmussen Skogstad. (2020) Challenge to Collect Empirical Data for Human Reliability Analysis—Illustrated by the Difficulties in Collecting Empirical Data on the Performance-Shaping Factor Complexity. ASCE-ASME Journal of Risk and Uncertainty in Engineering Systems, Part B: Mechanical Engineering 6:1.
Crossref
Chaima Jemmali, Erica Kleinman, Sara Bunian, Mia Victoria Almeda, Elizabeth Rowe & Magy Seif El-Nasr. (2020) MAADS. MAADS.
Tilman Michaeli & Ralf Romeike. (2019) Improving Debugging Skills in the Classroom. Improving Debugging Skills in the Classroom.
Tony Lowe. (2019) Debugging: The key to unlocking the mind of a novice programmer?. Debugging: The key to unlocking the mind of a novice programmer?.
Justin Smith, Brittany Johnson, Emerson Murphy-Hill, Bill Chu & Heather Richter Lipford. (2019) How Developers Diagnose Potential Security Vulnerabilities with a Static Analysis Tool. IEEE Transactions on Software Engineering 45:9, pages 877-897.
Crossref
Zack Coker, David Gray Widder, Claire Le Goues, Christopher Bogart & Joshua Sunshine. (2019) A Qualitative Study on Framework Debugging. A Qualitative Study on Framework Debugging.
Fabio Petrillo, Yann-Gaël Guéhéneuc, Marcelo Pimenta, Carla Dal Sasso Freitas & Foutse Khomh. (2019) Swarm debugging: The collective intelligence on interactive debugging. Journal of Systems and Software 153, pages 152-174.
Crossref
Abdulaziz Alaboudi & Thomas D. LaToza. (2019) Supporting Software Engineering Research and Education by Annotating Public Videos of Developers Programming. Supporting Software Engineering Research and Education by Annotating Public Videos of Developers Programming.
Tilman Michaeli & Ralf Romeike. (2019) Current Status and Perspectives of Debugging in the K12 Classroom: A Qualitative Study. Current Status and Perspectives of Debugging in the K12 Classroom: A Qualitative Study.
Mark Guzdial & Benedict du Boulay. 2019. The Cambridge Handbook of Computing Education Research. The Cambridge Handbook of Computing Education Research 11 39 .
. 2019. The Cambridge Handbook of Computing Education Research. The Cambridge Handbook of Computing Education Research.
Chen Li, Emily Chan, Paul Denny, Andrew Luxton-Reilly & Ewan Tempero. (2019) Towards a Framework for Teaching Debugging. Towards a Framework for Teaching Debugging.
Marilyn Tenorio Melenje María, María Alejandra Trujillo, Julio Ariel Hurtado Alegría & Cesar Collazos. 2019. Human-Computer Interaction. Human-Computer Interaction 98 112 .
ChanMin Kim, Jiangmei Yuan, Lucas Vasconcelos, Minyoung Shin & Roger B. Hill. (2018) Debugging during block-based programming. Instructional Science 46:5, pages 767-787.
Crossref
Paul W. McBurney, Siyuan Jiang, Marouane Kessentini, Nicholas A. Kraft, Ameer Armaly, Mohamed Wiem Mkaouer & Collin McMillan. (2018) Towards Prioritizing Documentation Effort. IEEE Transactions on Software Engineering 44:9, pages 897-913.
Crossref
Herman Banken, Erik Meijer & Georgios Gousios. (2018) Debugging data flows in reactive programs. Debugging data flows in reactive programs.
Yizhou Qian & James Lehman. (2017) Students’ Misconceptions and Other Difficulties in Introductory Programming. ACM Transactions on Computing Education 18:1, pages 1-24.
Crossref
Tilman Michaeli & Ralf Romeike. (2017) Addressing Teaching Practices Regarding Software Quality. Addressing Teaching Practices Regarding Software Quality.
Vincent J. Koeman, Koen V. Hindriks & Catholijn M. Jonker. (2016) Designing a source-level debugger for cognitive agent programs. Autonomous Agents and Multi-Agent Systems 31:5, pages 941-970.
Crossref
Marcel Böhme, Ezekiel O. Soremekun, Sudipta Chattopadhyay, Emamurho Ugherughe & Andreas Zeller. (2017) Where is the bug and how is it fixed? an experiment with practitioners. Where is the bug and how is it fixed? an experiment with practitioners.
Fabio Petrillo, Hyan Mandian, Aiko Yamashita, Foutse Khomh & Yann-Gael Gueheneuc. (2017) How Do Developers Toggle Breakpoints? Observational Studies. How Do Developers Toggle Breakpoints? Observational Studies.
Axel Bottcher, Veronika Thurner, Kathrin Schlierkamp & Daniela Zehetmeier. (2016) Debugging students' debugging process. Debugging students' debugging process.
Jean M. Griffin. (2016) Learning by Taking Apart. Learning by Taking Apart.
Brett A. Becker. (2016) A New Metric to Quantify Repeated Compiler Errors for Novice Programmers. A New Metric to Quantify Repeated Compiler Errors for Novice Programmers.
Thomas H. Park, Meen Chul Kim, Sukrit Chhabra, Brian Lee & Andrea Forte. (2016) Reading Hierarchies in Code. Reading Hierarchies in Code.
Iyad Zayour & Ali Hamdar. (2016) A qualitative study on debugging under an enterprise IDE. Information and Software Technology 70, pages 130-139.
Crossref
David J. Pearce. (2015) Some usability hypotheses for verification. Some usability hypotheses for verification.
Vincent J. Koeman & Koen V. Hindriks. 2015. PRIMA 2015: Principles and Practice of Multi-Agent Systems. PRIMA 2015: Principles and Practice of Multi-Agent Systems 335 350 .
Lucas Layman, Madeline Diep, Meiyappan Nagappan, Janice Singer, Robert Deline & Gina Venolia. (2013) Debugging Revisited: Toward Understanding the Debugging Needs of Contemporary Software Developers. Debugging Revisited: Toward Understanding the Debugging Needs of Contemporary Software Developers.
Torsten Grust & Jan Rittinger. (2013) Observing SQL queries in their natural habitat. ACM Transactions on Database Systems 38:1, pages 1-33.
Crossref
Joseph Lawrance, Christopher Bogart, Margaret Burnett, Rachel Bellamy, Kyle Rector & Scott D. Fleming. (2013) How Programmers Debug, Revisited: An Information Foraging Theory Perspective. IEEE Transactions on Software Engineering 39:2, pages 197-215.
Crossref
Ching-Zon Yen, Ping-Huang Wu & Ching-Fang Lin. 2012. Engaging Learners Through Emerging Technologies. Engaging Learners Through Emerging Technologies 122 134 .
P. Gross, C. Kelleher & J. Yang. (2011) An investigation of non-programmers' performance with tools to support output localization. An investigation of non-programmers' performance with tools to support output localization.
Amy J. Ko, Robin Abraham, Laura Beckwith, Alan Blackwell, Margaret Burnett, Martin Erwig, Chris Scaffidi, Joseph Lawrance, Henry Lieberman, Brad Myers, Mary Beth Rosson, Gregg Rothermel, Mary Shaw & Susan Wiedenbeck. (2011) The state of the art in end-user software engineering. ACM Computing Surveys 43:3, pages 1-44.
Crossref
Paul Gross & Caitlin Kelleher. (2010) Non-programmers identifying functionality in unfamiliar code: strategies and barriers. Journal of Visual Languages & Computing 21:5, pages 263-276.
Crossref
Sue Fitzgerald, Renée McCauley, Brian Hanks, Laurie Murphy, Beth Simon & Carol Zander. (2010) Debugging From the Student Perspective. IEEE Transactions on Education 53:3, pages 390-396.
Crossref
Paul Gross & Caitlin Kelleher. (2009) Non-programmers identifying functionality in unfamiliar code: Strategies and barriers. Non-programmers identifying functionality in unfamiliar code: Strategies and barriers.
Valentina Grigoreanu, James Brundage, Eric Bahna, Margaret Burnett, Paul ElRif & Jeffrey Snover. 2009. End-User Development. End-User Development 205 224 .
Laurie Murphy, Gary Lewandowski, Renée McCauley, Beth Simon, Lynda Thomas & Carol Zander. (2008) Debugging. ACM SIGCSE Bulletin 40:1, pages 163-167.
Crossref
Beth Simon, Sue Fitzgerald, Renée McCauley, Susan Haller, John Hamer, Brian Hanks, Michael T. Helmick, Jan Erik Moström, Judy Sheard & Lynda Thomas. (2007) Debugging assistance for novices. ACM SIGCSE Bulletin 39:4, pages 137-151.
Crossref
Daqing Hou, K. Wong & H.J. Hoover. (2005) What Can Programmer Questions Tell Us About Frameworks?. What Can Programmer Questions Tell Us About Frameworks?.
. 2004. Debugging by Thinking. Debugging by Thinking 539 546 .
B.A. Philp & B.J. Garner. (2001) Knowledge mediation in software quality engineering. Knowledge mediation in software quality engineering.
Slim Masmoudi. 2001. Conceptual Structures: Broadening the Base. Conceptual Structures: Broadening the Base 58 71 .
A.C Benander, B.A Benander & Janche Sang. (2000) An empirical analysis of debugging performance – differences between iterative and recursive constructs. Journal of Systems and Software 54:1, pages 17-28.
Crossref
S.E. Sim, C.L.A. Clarke & R.C. Holt. (1998) Archetypal source code searches: a survey of software developers and maintainers. Archetypal source code searches: a survey of software developers and maintainers.
Byung-Do Yoon & O.N. Garcia. (1998) Cognitive activities and support in debugging. Cognitive activities and support in debugging.
J.L. Snell. (1997) Ahead-of-time debugging, or programming not in the dark. Ahead-of-time debugging, or programming not in the dark.
S. J. Westerman, N. M. Shryane, C. M. Crawshaw & G. R. J. Hockey. 1997. Safer Systems. Safer Systems 111 120 .
Ashwin Ram, S. Narayanan & Michael T. Cox. (2010) Learning to Troubleshoot: Multistrategy Learning of Diagnostic Knowledge for a Real‐World Problem‐Solving Task. Cognitive Science 19:3, pages 289-340.
Crossref
Sougata Mukherjea & John T. Stasko. (1994) Toward visual debugging. ACM Transactions on Computer-Human Interaction 1:3, pages 215-244.
Crossref
CARL MARTIN ALLWOOD. (2008) Confidence in own and others' knowledge. Scandinavian Journal of Psychology 35:3, pages 198-211.
Crossref
S. Mukherjea & J.T. Stasko. (1993) Applying algorithm animation techniques for program tracing, debugging, and understanding. Applying algorithm animation techniques for program tracing, debugging, and understanding.
N.A.M. Maiden & A.G. Sutcliffe. (1993) People-oriented software reuse: the very thought. People-oriented software reuse: the very thought.
Laura Marie Leventhal. 1993. Cognitive Models and Intelligent Environments for Learning Programming. Cognitive Models and Intelligent Environments for Learning Programming 94 102 .
Laura Marie Leventhal, Barbee M. Teasley, Diane S. Rohlman & Keith Instone. 1993. Human-Computer Interaction. Human-Computer Interaction 210 218 .
David J. Gilmore. (1991) Models of debugging. Acta Psychologica 78:1-3, pages 151-172.
Crossref
Carl Martin Allwood & Carl-Gustav Björhag. (1991) Training of Pascal novices' error handling ability. Acta Psychologica 78:1-3, pages 137-150.
Crossref
David P. Hale & Dwight A. Haworth. (1991) Towards a model of programmers' cognitive processes in software maintenance: A structural learning theory approach for debugging. Journal of Software Maintenance: Research and Practice 3:2, pages 85-106.
Crossref
J. Krems. 1991. Informatik und Schule 1991. Informatik und Schule 1991 324 333 .
Carl Martin Allwood & Carl-Gustav Björhag. (1990) Novices' debugging when programming in Pascal. International Journal of Man-Machine Studies 33:6, pages 707-724.
Crossref
Janine Rogalski & Renan Samurçay. 1990. Psychology of Programming. Psychology of Programming 157 174 .
Nancy Pennington & Beatrice Grabowski. 1990. Psychology of Programming. Psychology of Programming 45 62 .
Claus Möbus & Heinz-J. Thole. 1990. Computer Assisted Learning. Computer Assisted Learning 36 49 .
Claus Möbus. 1990. Artificial Intelligence in Higher Education. Artificial Intelligence in Higher Education 138 145 .

Reprints and Corporate Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

To request a reprint or corporate permissions for this article, please click on the relevant link below:

Academic Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

Obtain permissions instantly via Rightslink by clicking on the button below:

If you are unable to obtain permissions via Rightslink, please complete and submit this Permissions form. For more information, please visit our Permissions help page.