1982 | OriginalPaper | Buchkapitel
Overview of Testing of Numerical Software
verfasst von : Lloyd D. Fosdick
Erschienen in: Evaluating Mathematical Programming Techniques
Verlag: Springer Berlin Heidelberg
Enthalten in: Professional Book Archive
Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.
Wählen Sie Textabschnitte aus um mit Künstlicher Intelligenz passenden Patente zu finden. powered by
Markieren Sie Textabschnitte, um KI-gestützt weitere passende Inhalte zu finden. powered by
The purposes of program testing are to expose errors; to insure that standards for portability, robustness, etc. are met; and to evaluate performance. A selection of work in these three applications of program testing is presented here.A variety of tools and techniques for exposing errors in programs have been proposed. They range from measurements of testing thoroughness, to models for predicting errors, to attempts to prove a limited form of correctness. For various reasons, including cost, availability of tools, and interpretation of results, testing of numerical software for the purpose of exposing errors has made only limited use of these tools and techniques.The problem of insuring that standards are met is easier to deal with, and one tool in particular, the PFORT verifier, has been widely used to insure portability. Tools for transforming programs to meet certain requirements have also been used in the production of numerical software as for example, in the production of LINPACK.Program testing for performance evaluation has relied primarily on the use of selected test problems. Collections of test problems for several subject areas — ordinary differential equations, linear equations, and optimization — exist, and have received extensive use. Performance profiles have been used to present results of performance testing in a succinct and meaningful way. Modeling has been used to evaluate the performance of an algorithmic idea without incurring the expense of actually executing all of the supporting software.