Arnaud's advice to develop and debug numerical applications

  1. Use at least two compilers
  2. Trap floating point exceptions
    During the development, set the floating point hardware to trap on divide by zero, invalid and overflow. This usually involved to compile the main function with some flags.
  3. Set the most stringent set of debugging options available
    This includes:

    Apply these flags at compile and link time. Link with the compiler command.

  4. Use a build procedure with a debug and release mode
    And get hold of libraries compiled with checks on.
  5. Use a symbolic debugger when useful
    For numerical application most notably with large data sets, symbolic debuggers are not as handy as with "ordinary" applications. However, they are extremely helpful in these situations:
  6. Use static analysers
  7. Use memory debuggers
  8. Think of code coverage tools

The "Compiler and Tools tricks" page details how to implement these steps.

$Id: ArnaudAdvice.html,v 1.8 2004/02/16 17:28:03 arnaud Exp $

by Arnaud Desitter.

© Arnaud Desitter, 2002, 2003