DocumentCode :
1188474
Title :
How accurate is scientific software?
Author :
Hatton, Les ; Roberts, Andy
Author_Institution :
Programming Res. Ltd., Hersham, UK
Volume :
20
Issue :
10
fYear :
1994
fDate :
10/1/1994 12:00:00 AM
Firstpage :
785
Lastpage :
797
Abstract :
This paper describes some results of what, to the authors´ knowledge, is the largest N-version programming experiment ever performed. The object of this ongoing four-year study is to attempt to determine just how consistent the results of scientific computation really are, and, from this, to estimate accuracy. The experiment is being carried out in a branch of the earth sciences known as seismic data processing, where 15 or so independently developed large commercial packages that implement mathematical algorithms from the same or similar published specifications in the same programming language (Fortran) have been developed over the last 20 years. The results of processing the same input dataset, using the same user-specified parameters, for nine of these packages is reported in this paper. Finally, feedback of obvious flaws was attempted to reduce the overall disagreement. The results are deeply disturbing. Whereas scientists like to think that their code is accurate to the precision of the arithmetic used, in this study, numerical disagreement grows at around the rate of 1% in average absolute difference per 4000 fines of implemented code, and, even worse, the nature of the disagreement is nonrandom. Furthermore, the seismic data processing industry has better than average quality standards for its software development with both identifiable quality assurance functions and substantial test datasets
Keywords :
geophysics computing; programming; seismology; software packages; software quality; Fortran; N-version programming experiment; input dataset; large commercial packages; mathematical algorithms; programming language; quality assurance; quality standards; scientific computation; scientific software; seismic data processing; seismic data processing industry; software development; Arithmetic; Computer industry; Computer languages; Data processing; Feedback; Geoscience; Packaging; Programming; Software standards; Standards development;
fLanguage :
English
Journal_Title :
Software Engineering, IEEE Transactions on
Publisher :
ieee
ISSN :
0098-5589
Type :
jour
DOI :
10.1109/32.328993
Filename :
328993
Link To Document :
بازگشت