Dan Moore from Bell Laboratories addressed the queations of "why is debugging hard?" and "what are programmers thought processes during debugging?" His observation was that debugging appreared to require both analytic and intuitive thought modes. (His hypothesis is) debugging is hard because it is difficult to transfer the locus of thought from one hemisphere to the other.
Elaine Weyuker pointed out that 90% of the bugs were found by desk checks and test runs, while the remaining bugs were found using program dumps. (barely use debuggers)
(Elaine Weyuker)80% of the bugs are easy bugs and 20% of the bugs are hard bugs. ... a frequent cause for a hard bug is that the programmer develops a mind set as to how the program is supposed to work when in fact it works differently.
Elaine Weyuker pointed out that 90% of the bugs were found by desk checks and test runs, while the remaining bugs were found using program dumps. (barely use debuggers)
(Elaine Weyuker)80% of the bugs are easy bugs and 20% of the bugs are hard bugs. ... a frequent cause for a hard bug is that the programmer develops a mind set as to how the program is supposed to work when in fact it works differently.
What is hard about debugging?
While there was general agreement that debugging is hard, there is very little consensus as to why it is hard. Here is a list of suggested reasons:
- Debugging is hard because it requires repeated switches between intuitive and analytic thought modes.
- Debugging is hard because programmers develop a mind set that their program should work one way when in fact it does not.
- Debugging is hard because the available debugging tools are not adequate.
- Debugging is hard because the program semantics change as the user finds and coreects bugs. This make it difficult for the user to develop a consistent model of program behavior.
What unusual tools were useful for debugging?
Someone displayed the binary image of the program directly onto a bit-map screen. Someone else found that a program history management system was useful. ... There were several program in real-time was a useful freature.
For extensional reading, read my note of learning GDB.While there was general agreement that debugging is hard, there is very little consensus as to why it is hard. Here is a list of suggested reasons:
- Debugging is hard because it requires repeated switches between intuitive and analytic thought modes.
- Debugging is hard because programmers develop a mind set that their program should work one way when in fact it does not.
- Debugging is hard because the available debugging tools are not adequate.
- Debugging is hard because the program semantics change as the user finds and coreects bugs. This make it difficult for the user to develop a consistent model of program behavior.
What unusual tools were useful for debugging?
Someone displayed the binary image of the program directly onto a bit-map screen. Someone else found that a program history management system was useful. ... There were several program in real-time was a useful freature.
没有评论:
发表评论