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