Welcome to Defensive Programming and Debugging

This material complements the content of the FutureLearn MOOC on "Defensive programming and debugging".

This is an online resource for defensive programming and debugging. You will find material on * coding best practices * error handling * defensive programming * documenting your code * unit and functional testing * debuggers (gdb, valgrind) * taxonomy of bugs * references and further reading

This is mainly aimed at scientific and high performance computing, so examples are given for C, C++ and Fortran. However, the principles are very similar for other programming languages.

Contributions

This is work in progress, and you are welcome to conntribute. The material is release under the CC BY 4.0 license.

Acknowledgments

Parts of this material was developed for a MOOC (Massive Open Online Course) developed for PRACE, the European supercomputing organization.

Authors

  • Geert Jan Bex (geertjan.bex@uhasselt.be)
  • Mag Selwa
  • Ingrid Barcena Roig This online book is a companion to the MOOC with the same name.