Page 19 - SOFTWARE TESTING & QUALITY ASSURANCE
P. 19
Software Testing and Quality Assurance
Error in Intel's Pentium Microprocessor
A Mathematics professor at Lynchburg College, USA, Dr.Thomas Nicely, found a floating
point division error in Intel Pentium microprocessor in the year 1994. He was computing
on his Pentium-based computer to find the sum of the reciprocals of prime numbers.
He noticed that the computation result was significantly different from the theoretical values. When
the same computation was carried out on another computer with a different microprocessor (486
CPU) he was able to get the correct values that obey the theoretical values. The worst and well-known
case was division of 4195835 by 3145727. The correct value is 1.33382, however the Pentium's floating
point unit computed and generated a value 1.33374 (Only 6 places after decimal is mentioned here),
which has an error of 0.006.
Dr.Thomas Nicely reported the bug to Intel, but Intel ignored it and Nicley did not receive any proper
response from Intel. Later, Nicley took the issue to public with the help of the Internet and media.
Following these events, Intel publicly announced that "an error is only likely to occur [about] once in
nine billion random floating points". They also mentioned in their announcement that "an average
spreadsheet user could encounter this subtle flaw once in every 27,000 years of use." However, it was
noted that the Intel Pentium processors output was wrong every time when such division was
performed for such values.
On November 28, 1994, Intel publicly admitted the problem and issued a statement saying that it
would replace pentium chips only for those who could explain the need of high accuracy in complex
calculations. Industry experts, public, and media criticized this attitude of Intel. Later, in the month of
December, Intel announced that it would freely replace the processor for any owner who asked for
one.
The bug problem made Intel to issue an apology to its customers and the public for the way it handled
the bug and issues related to it. It had to spend more than $400 million for replacing bad chips.
Learning a lesson from this, Intel now reports all known problems on its official website and it also
monitors customer feedbacks carefully and regularly.
Questions
1. Is Intel right in their approach to customers? How did they win customers’ confidence?
2. Explain the kind of bug faced by Intel. What method would you suggest to overcome the bug?
Adapted from (http://www.willamette.edu/~mjaneba/pentprob.html)
1.4 Summary
• Software testing demonstrates that a program performs the intended functions correctly. The
ultimate goal of software testing is to ensure that the product is error free.
• Detecting bugs are the most important part of a software testing process. These bugs can be an error
in the program or issues that affect the quality of the software.
• Depending on the kind of error or the reason for error the bugs are classified into various types
such as, bugs due to conceptual error, math bugs, logical bugs, resource bugs, co-programming
bugs, and team working bugs.
• Bugs in software can occur due to various reasons such as human error, lack of communication,
tight time lines, improper design logic, inefficient coding practices, and unskilled testers.
• Bugs can prove to be very costly. They not only take time to resolve affecting the project time lines
and project cost, but also result in losses as the company may have to compensate the customer by
12 LOVELY PROFESSIONAL UNIVERSITY