Bug Free C

I liked reading Bug Free C by Jerry Jongerius. The most important thing is his attitude toward bug-free software: it can be done and when you know how, it is not too difficult. This is something I try to tell my students for years (but, unfortunately, only a few of them get the message).
There are three important lessons that can be learnt:
  1. Designing and implementing an ADT ( a class in his terminology) is very similar in its basics to the way we teach ADTs in our MaTaM course (234122). Of course, in the course we do not dwell into fine details of implementation issues. Interestingly, his book was published in January 1995, just a few months after we started using our new slides, teaching ADTs this way (in the above link, click on "Course Material" and then "Lectures" and choose the ADT chapter). We started teaching this material on Winter94-95 semester (Oct. '94) while in the process of developing the new set of slides.
  2. It teaches the reader advanced techniques of using the C Preprocessor. Some simplified versions of similar techniques can be found in the chapter about "Testing" in the course slides above.
  3. It points out some weaknesses of the standard C-library and Windows OS that are important to understand in the course of developing bug-free software. It is not the details that are important - it is the attitude (and aptitude) for mercilessly fighting bugs.
There are a few caveats that I see in this book. This is natural: I do not expect to agree 100% with anyone, nor do I expect that they agree 100% with me. Here is a list of a few of them: The bottom line: make a worthwhile reading of this document.

A free download (added: Oct. 17, 2006)

Yechiel Kimchi     October 22, 2005.