Relative debugging

David Abramson, Ian T Foster, John G. Michalakes, Rok Sosič · Communications of the ACM · 1996

ARGE scientific codes are constantly evolving.Refinements in understanding physical phenomena result in changes to physics, improved numerical methods result in changes to solution techniques, and developments in computer architecture result in new algorithms.Unfortunately, this evolutionary process often introduces subtle errors that can be extremely difficult to find.As a consequence, scientific programmers can spend many hours, days, or weeks laboriously comparing the executions of two almost identical codes, seeking to identify the source of a small discrepancy.Debuggers assist in locating program errors.They are tools that allow a user to investigate the execution state of an application program, by (for example) examining the state D a v i d A b r a m s o n , I a n F o s t e r , J o h n M i c h a l a k e s , a n d R o k S o s i c D e b u g g i n g : R e l a t i v e Accounting for discrepancies in large scientific codes, a tedious but necessary task for developers, is automated through use of the Guard relative debugger.

Read the paper · More papers on PaperTik