Exploring How Novice Programmers Pick Debugging Tactics When Debugging: A Student’s Perspective
Novice developers use a variety of debugging tactics to debug. However, how they select a tactic still remains unclear. Many studies in Software Engineering describe programmers using tactics like adding print statements, but only a few studies hint at factors such as knowledge and habits, social environment, and experience that may influence these decisions. To help us understand how novice programmers select debugging tactics, we turned to Information Foraging Theory (IFT) to analyze this decision-making process through the lens of a cost-benefit analysis. We conducted a qualitative study that explored how novice programmers describe their decision-making process when deciding which debugging tactics to use when debugging. We found that novice programmers use a variety of debugging tactics including testing code, searching for help, and taking notes on paper. Furthermore, we reported activities where novices leverage their past experiences, adapt to their task environments, and anticipate future risks and rewards to decide among a variety of tactics to pursue. From our results, we offer suggestions to educators to explicitly teach the value and costs of using certain tactics so that novice programmers may select the optimal tactic in any debugging situation. Furthermore, we suggest future research to explore novice debugging behaviors within non-computing environments to gain a holistic understanding of the debugging process.