Automating the Debugging of Large Numerical Codes

Abstract

The development of large numerical codes is usually carried out in an incremental fashion and over a long period of time. In this process a segment of code might for reasons of speed or accuracy be replaced with a new code segment. If the resulting program exits with a fault or generates a completely different result than the old one, it is crucial to find the place where the discrepancy first occurs. Finding this place might be a very tedious and time consuming operation.

We present a prototype tool specially designed to aid the programmer in debugging such situations. The tool lets the programmer run both the old and the new code simultaneously while monitoring a set of variables in the two codes. If any discrepancy is discovered between the two programs this is automatically reported back to the user who can take appropriate action.

We believe this to be a simple yet powerful way of automating the debugging process that can easily be incorporated into existing debugging programs.



Back to publication page