Comparative debugging is the practice of using direct comparisons between two different runs of the same (or similar) codes to diagnose unexpected (often erroneous) behaviour in the application e.g.. when obtaining different results on different numbers of processors. It is a frequent part of the software development process and can be very time consuming. There is no support from current software debugging tools for this activity.
We have developed scripts which can be used with the TotalView debugger and which can automate the process of tracking an error between two executions of a program.
- Report published on comparative debugging Comparative Debugging Using TotalView Scripting, G. Corbett and M. Ashworth, DL Technical Report DL-TR-2015-001, 2015
- Comparative debugging scripts and documentation made available through CCPForge project cdtv
- Comparative debugging presented in the Birds of a Feather Session HPC Debugging Techniques at Supercomputing ’14 in a presentation entitled “Comparative Debugging Using TotalView Scripting, M. Ashworth and G. Corbett