Because large scienti c codes are rarely static objects, developers are often faced with the tedious task of accounting for discrepancies between new and old versions. In this paper, we describe a new technique called relative debugging that addresses this problem by automating the process of comparing a modi ed code against a correct reference code. We examine the utility of the relative debugging technique by applying a relative debugger called Guard to a range of debugging problems in a large atmospheric circulation model. Our experience con rms the e ectiveness of the approach. Using Guard, we are able to validate a new sequential version of the atmospheric model, and to identify the source of a signi cant discrepancy in a parallel version in a short period of time.
David Abramson, Ian T. Foster, John Michalakes, Ro