1. Sommerville
I. (2016). Software Engineering (10th ed.). Pearson.
In Chapter 8
Section 8.4 on "Debugging
" the text describes the process of locating and repairing defects. A key part of locating a defect is information gathering. When initial hypotheses fail
a developer must gather more information
which in a modern context includes searching for known issues in external knowledge bases before escalating. This aligns with researching the problem online.
2. Zeller
A. (2009). Why Programs Fail: A Guide to Systematic Debugging (2nd ed.). Morgan Kaufmann.
Chapter 1
"Isolating Failure Causes
" emphasizes a scientific method for debugging: observe
hypothesize
test
and repeat. When a programmer's own hypotheses are exhausted (as in the scenario)
the next step is to gather more data or see if others have already solved the problem. The book implicitly supports consulting external documentation and community knowledge as part of the observation/information-gathering phase.
3. Ko
A. J.
& Myers
B. A. (2004). A framework and methodology for studying the causes of software errors in programming systems. Journal of Visual Languages & Computing
15(1)
41-84. https://doi.org/10.1016/j.jvlc.2003.07.004
This paper discusses the cognitive processes of debugging. It highlights that a major part of resolving errors involves "information seeking." After failing to find information through code inspection (as the analyst did)
a programmer naturally progresses to external information sources like documentation or online communities. This supports online research as the next logical action.