Guard - A Relative Debugger
Home Overview Implementation References Contact

 

 

Relative debugging is a technique that allows a user to compare data between two executing programs. It was devised to aid the testing and debugging of programs that are either modified in some way, or are ported to other computer platforms. It is effectively a hyrbid test & debug methodology.

Whilst traditional debuggers force the programmer to understand the expected state and internal operation of a program, relative debugging makes it possible to trace errors by comparing the contents of data structures between programs at run time. In this way, the programmer is less concerned with the actual state of the program, and more concerned with finding when and where differences between the old and new codes occur. The methodology requires users to start by observing that two programs generate different results, and then iteratively moving back through the data flow of the codes to determine the point at which they start producing different answers.

We have developed a relative debugger called Guard. Guard supports the execution of both sequential and parallel programs on a range of platforms, and exists for a number of different development environments.

Guard can be applied to both sequential and parallel programs.

A commercial implementation of Guard is available from Guardsoft.

This project is supported by: