Grid
computing poses someinteresting challenges for software development,
because programs must run on a variety of different hardware
and software platforms.
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.
We have developed a
relative debugger called Guard to aid the testing and debugging
of software developed for the Grid.
|
|
Three
different versions of Guard have been produced. One targets traditional
Unix computers and is command line driven. Another leverages
the Microsoft Visual Studio
.NET ® platform and targets Windows platforms. Another
is built on IBM's Eclipse platform,
and is available for both Linux and Windows. All three versions are
available from Guardsoft. 
|
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.
|