Abstract
Relative debugging is a technique that addresses the problem of debugging
programs developed using evolutionary software techniques. Recent developments
allow relative debugging to be used on programs that have been ported from
serial to parallel architectures. Such programs may change significantly in the
porting process, and this raises many issues for the debugging process, such as
how the array data and code transformations that occur in these situations can
be modelled. Relative debugging can also be effectively used in situations
where the parallel programs themselves have undergone evolutionary change. This
paper presents the architecture of a parallel relative debugger, and reveals a
number of novel and powerful techniques that have been developed for dealing
with the issues of relative debugging in a parallel environment.