Title :
`Defensive programming´ in the rapid development of a parallel scientific program
Author :
Cheng, D.Y. ; Deutsch, J.T. ; Dutton, R.W.
Author_Institution :
Dept. of Electr. Eng., Stanford Univ., CA, USA
fDate :
6/1/1990 12:00:00 AM
Abstract :
A set of programming techniques which can reduce the time required to develop scientific programs is presented. Subroutines are designed to allow every execution path to be tested independently. Checksums are used to compress arrays and groups of variables without losing meaningful debugging information. Invariance assertions on checksums are used to detect incorrect behavior of a program at a place near the source of the error. Traces of checksums of groups of variables are used to monitor the time evolution of intermediate results. By comparing the checksums produced in tracing the program and the checksums produced in tracing a reference copy of the program, errors can be rapidly localized when a program is modified, ported, put in parallel, or optimized for a particular machine
Keywords :
programming; checksums; parallel scientific program; programming techniques; subroutines; Algorithms; Application software; Computer bugs; Debugging; Hardware; Hypercubes; Laboratories; Parallel programming; Switches; Testing;
Journal_Title :
Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on