Unix Support

How to Help Programs Debug Themselves

This course is intended for serious programmers who need to develop large or complex codes, or to write applications that will be used and worked on by other people or over a long time (years). It will describe some of the design and coding techniques that can make debugging easier (sometimes even semi-automatic), and reduce the overall development and maintenance effort by spending a bit more time during design and coding.

It is applicable to any conventional language, from Python to Fortran to Java to C++ and even assembler, and will describe the techniques in generic terms. It should be regarded as part of the practical end of software engineering - everything covered will be something that the speaker has found to be useful in practice.

The full foils, including sections that will not be presented, due to lack of time:

1: Introduction and Principles (also in the form of a Handout for the MPhil )

2: Checking and Diagnostics (also in the form of a Handout for the MPhil )

The title of this document is: How to Help Programs Debug Themselves
URL: http://www-uxsup.csx.cam.ac.uk/courses/moved.Debugging/index.html