Re: Fastcode Sponsoring
- From: "Q Correll" <qcorrell@xxxxxxxxxxxxx>
- Date: 31 Dec 2006 11:49:14 -0800
Dennis,
| I started a thread in nontech "
| Fastcode Core 2 Sponsoring
It would seem that one cannot have too many systems on which to
validate libraries.
From the comp.risks Usenet newsgroup:
******************************************************************
Date: Fri, 22 Dec 2006 14:35:05 -0500
From: Gene Spafford <spaf@xxxxxxxxxxxxxxxxx>
Subject: Re: Trig error checking (RISKS-24.51/52)
Nearly 25 years ago, some of my grad school buddies were working on a
compiler and support language as part of the Georgia Tech Software
Tools project. This was a full set of the standard software tools,
only for PR1MOS (the operating system of Prime computers --
actually, quite an interesting architecture, based on segments and
rings ala Multics).
I was asked to write up the basic math library -- they didn't want to
call the underlying Prime library for copyright reasons. I was
asked because I was really, really good with the assembly language on
the systems (having written a Pascal compiler and OS in the assembly
language in the previous couple of years). So, I checked out some
texts and wrote up some fast libraries and the test routines that
were in the books. All looked good.
However, being the cautious type, I wanted to check that my code was
indeed correct. I wanted an independent check. So, I asked around,
and found the Cody & Waite book. I coded all the tests, ran them
against my library, and found one or two spots where I had not quite
reduced arguments correctly. I fixed them until they passed both my
original tests and the Cody & Waite tests. In the succeeding years,
I never heard about any problems.
As a matter of curiosity, I ran the tests against the native OS
library shipped with the Fortran compiler. I was aghast at the
results! In some cases, the results were of the wrong sign an
magnitude, didn't return errors for input out of range, and often
lost about 60 out of 64 bits of precision! I wrote this up as a
tech report (GT/ICS 83/09), and it was distribute to Prime and the
Prime User's group, as well as included with the GT-WT
distribution. I got mail from dozens of chagrined users of Prime
systems who discovered errors in their systems because they had
accepted the output of the math libraries -- including some
astrophysicists who had to withdraw a paper claiming a better
approximation of some constant, and a team of engineers who had been
designing a nuclear reactor containment vessel using one of those
systems!
A few years later, as a post doc, I pulled out the routines and got a
grad student to help me rerun the experiments on several other
systems we had around the lab at Georgia Tech. The result was issued
as a tech report, Spafford, E.H.; Flaspohler, J.C.: A Report on the
Accuracy of Some Floating-Point Math Functions on Selected
Computers. Georgia Institute of Technology, Technical Report GIT-
SERC-86/02, GIT-ICS-85/06, and then later published in ;Login: (the
Usenix newsletter). The 14 systems we tested for our report included
Vaxen running 4.2 BSD, a Pyramid 90x, an AT&T 3B20S, an AT&T 7300, a
Sun 2, a Ridge, a Cyber and a Masscomp -- each with its own OS and
support system. I can't find a copy of the report still on the WWW
anywhere, but in short, the results were that NONE of the systems
tested passed all the tests, and several produced results that were
as far wrong as on the Prime system tested a few years earlier.
These were systems used regularly by engineering firms, scientists,
NASA, the NRC, and more. Very scary results.
Today, we have people downloading code from the net and running it,
integrating it into their mission-critical systems. The code is
produced without design, without formal testing, and by people
without adequate training to even understand there might be
problems. The focus everyone seems to have is on buffer overflows,
but those are merely one symptom of sloppy software production.
There are lots of places where assumptions about the underlying
correctness of the system can be proven horribly wrong in
practice...as long-time RISKS readers understand.
Last time I checked, Cody & Waite was out of print, and an online
auction site had copies for over $200 apiece.
I wonder how current-day systems would fare against these tests?
Given Bart Miller's experience with his "fuzz" testing over the last
two decades, I wouldn't want to bet that current math libraries work
correctly.
*******************************************************************
--
Q
12/31/2006 11:47:32
XanaNews Version 1.17.5.7 [Q's salutation mod]
.
- Prev by Date: Re: Fastcode StrToInt32 B&V 1.0.7
- Next by Date: Re: Fastcode StrToInt32 B&V 1.0.7
- Previous by thread: Re: Fastcode StrToInt32 B&V 1.0.7
- Next by thread: Re: Fastcode Sponsoring
- Index(es):
Relevant Pages
|