wu :: forums (http://www.ocf.berkeley.edu/~wwu/cgi-bin/yabb/YaBB.cgi)
riddles >> general problem-solving / chatting / whatever >> Computational Errors
(Message started by: Ulkesh on Jun 17th, 2008, 12:59pm)

Title: Computational Errors
Post by Ulkesh on Jun 17th, 2008, 12:59pm
First of all, it's been a while since I last posted, so hi to everyone!

I've been developing and using a fair amount of software recently, and have come to notice the following:

Unexpected software output/results reported by users pretty much always lead to software bugs being discovered.

Before developing software at this level I always assumed that there would be a large number of non-replicable errors experienced due to the physical properties of the computing equipment itself. For exmaple, transistors in CPU, memory, hard drives are highly miniaturised, and the possibility of quantum tunneling/bits not being flipped etc., I'd imagine as high. I know there's a level of error checking that goes on, but couldn't this eventually lead to the more macroscopic effect of a software error?

I've been told that any error reported is always the result of a programming bug and should always be replicable. To what extent is this true?

I know without details of equipment used and program complexity this is a hard question to answer. But take a modern software development scenario (e.g. modern servers, Windows/Linux, a large piece of software such as Windows itself).

Title: Re: Computational Errors
Post by towr on Jun 17th, 2008, 1:32pm
I just recently read something about how unlikely hardware errors are for personal computers; but I can't find where I read it. So unfortunately I can't give you the probability of how unlikely a calculation error is, but it's very low.

Of course replicability may still be a problem. If factors such as the sound in your headset's mike, the time of your system clock, and the last ten seconds of typing on the keyboard work together to create a unique situation that prompts an error, then good luck in replicating it.

Title: Re: Computational Errors
Post by rmsgrey on Jun 18th, 2008, 5:20am
Of course, hardware faults can be significant, but in non-faulty equipment, I'd put money on a bug being in code first, then probably the OS, any other processes running, and any hardware drivers (in some order, depending on the system) then a compiler error all before suspecting a transient hardware error.

Of course, diagnosing a non-fault hardware error is going to be almost impossible - by its nature, it's not going to be replicable, so you'd need to be dumping a lot of data both before and after to have a reasonable chance of having enough to analyse the situation and eliminate all other possibilities.


It's always possible that a random hardware error will occur - in which case there's a fair chance of some form of unexpected output occuring - but software errors are still vastly more likely.

Title: Re: Computational Errors
Post by Grimbal on Jun 18th, 2008, 8:54am
The most likely hardware problems are in the peripherals, like disk read errors, transmission problems, etc.

Now, there is one situation where you might have hardware glitches in the memory or CPU, it is when you overclock your CPU.

And the CPU is very sensitive to errors.  A single bit error can send the CPU off track and freeze the computer.

Title: Re: Computational Errors
Post by SMQ on Jun 18th, 2008, 11:05am

on 06/18/08 at 08:54:14, Grimbal wrote:
Now, there is one situation where you might have hardware glitches in the memory or CPU, it is when you overclock your CPU.

Or buy cheap-ass memory.  My experience is that the off-brand/no brand memory really does have a vastly higher rate of intermittent problems than the memory from the "big three" (Kingston, Crucial, Corsair/Samsung).  I used to work for a company that built their own PCs (for internal use) as cheaply as possible rather than order from an OEM, and off-brand memory accounted for >75% of the (twelve or so) hardware failures I encountered.  YMMV, of course.

In general, though, the tip-off for hardware problems is that they generally effect everything, more-or-less randomly -- not just one program.

--SMQ



Powered by YaBB 1 Gold - SP 1.4!
Forum software copyright © 2000-2004 Yet another Bulletin Board