1.
>I've been struck by the lack of standard debugging skills taught..
Have you got evidence for this? Have you examined the curricula of some
undergraduate computing programmes? It would be interesting to see this
work.

2. There is a qualitative difference between medical diagnosis and
debugging. In the former case you have a device (a body) which has come
about by an evolutionary process, and which will normally 'work' The
diagnostic process there is to identify in what way it is failing. This
also applies to mechanics - they know that for example petrol engines
normally 'work' because the design is correct  - they simply have to
identify why the device is not functioning according to a correct
design.

However a program is an implementation of an attempted solution to a
problem, and if there is a bug, the design is flawed - maybe trivially,
maybe fundamentally. Consequently the task is to identify what the
designed solution is (which with poor documentation may be very
difficult) and then to identify why the design is faulty. This does not
apply to the medical or mechanics cases.

3. Yes, the research has a long history. 
Atwood, M. E. & Ramsey, H. R. 1978 Cognitive Structures in the Memory of
Computer Programs : An Investigation of Computer Program Debugging US
Army Research Institute for the Behavioural and Social Sciences
Technical Report TR-78-A21    
is interesting, relating debugging to program comprehension and 'normal
text' comprehension.

But back in 1981 (Sheil, B.A. (1981) The psychological study of
programming Computing Surveys, 13, 101-20) Sheil wrote ".. the computing
community has paid little attention to these results. This paper reviews
the psychological research on programming and argues that its
ineffectiveness is the result of both unsophisticated experimental
technique and a shallow view of the nature of programming skill."

So your comment about 10 second decisions altering what people do looks
good.
  

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf
Of Dan Frost
Sent: 02 January 2007 20:05
To: discuss@ppig.org
Subject: PPIG discuss: Hello / how we debug

Hi,

First - hello to the list.

Second, my particular interest at the moment is around how coders debug.
 compared to the diagnosis skills taught to medics, mechanics and other
professions where diagnosis, prescription, and resolution are more or
less rote.

My angle on this, as it were, is largely day-to-day - debugging in a
day-to-day coding environment. I mention this because I've discovered
papers dating back decades stating what coders (programmers) should
know, and if only they did! So, the theory is there, but the practice
isn't dripping through.

The reason I ask PPIG about this is that I think the Psychology - or the
simple emotional effect - of being forced to solve a problem in 10
seconds affects the decisions many coders make. Having a mental
framework which gets delegated most of the information gathering (what
information is there, what causes might there be... etc) relieves coders
of 90% of the decisions made during debugging.

Any interesting research in this area? Any standard diagnosis processes
(like differential diagnosis etc)? ...

Cheers,
dan
 
----------------------------------------------------------------------
PPIG Discuss List (discuss@ppig.org)
Discuss admin: http://limitlessmail.net/mailman/listinfo/discuss
Announce admin: http://limitlessmail.net/mailman/listinfo/announce
PPIG Discuss archive: http://www.mail-archive.com/discuss%40ppig.org/

----------------------------------------------------------------------
PPIG Discuss List (discuss@ppig.org)
Discuss admin: http://limitlessmail.net/mailman/listinfo/discuss
Announce admin: http://limitlessmail.net/mailman/listinfo/announce
PPIG Discuss archive: http://www.mail-archive.com/discuss%40ppig.org/

Reply via email to