Joint Colloquium Distinguished Lecture Series

Needed Remedies for the Undebuggability of Large-Scale Floating-Point Computations in Science and Engineering

William Kahan

Wednesday, October 7, 2009
306 Soda Hall (HP Auditorium)
4:00 - 5:00 pm

William Kahan
Professor Emeritus, EECS, UC Berkeley

Downloadable PDF


Despite almost universal conformity to IEEE Standard 754, Floating-Point Arithmetic still teems with mysteries and misconceptions, some still enshrined in current programming languages. Roundoff, invisible in programs' texts, causes the worst anomalies -- occasional results unobviously wrong enough to misdirect, and almost always misdiagnosed. Also misdiagnosed more often than not is aberrant behavior precipitated by arithmetic exceptions, like over/underflow and division-by-zero, treated as programmers' errors deserving abandonment of the program's intended path of control.  Instances of misdiagnoses will be presented.

Must computing professionals acquiesce to a resurgent superstition that numerical software is inevitably buggy, like Microsoft's Windows?

Developers and users of numerical software cannot by themselves produce the peculiar tools they need to debug floating-point anomalies whenever these are suspected.  Help is needed from designers and implementers of hardware, of programming languages, and of the debuggers in software development environments to collaborate on features that will help to localize an anomaly's cause to a short segment of code, when possible. These features will be described. Some that have existed in hardware for decades are atrophying for lack of employment.

  Return to EECS Joint Colloquium