• 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