Re: WSJ article on software liability

From: Traveler (traveler_at_nospam.com)
Date: 03/01/05


Date: Tue, 01 Mar 2005 13:43:17 -0500

In article <slrnd29c9b.2nd.willem@toad.stack.nl>, Willem
<willem@stack.nl> wrote:

>Traveler wrote:
>) It has to do with the fact that almost any hardware system with equal
>) behavioral complexity to a software system will have fewer logical
>) bugs than the software system.
>
>You have *still* not proven the 'equal complexity' bit.
>You keep avoiding this issue.

You can't see it because you're wearing mental blinders.

>) signal-based model. It is not because the behavioral complexity of
>) hardware is simpler than that of software. My computers have many
>) hardware chips interacting in highly complex ways and yet they have
>) never failed on me. By contrast my software applications break down
>) all the time.
>
>Your saying that 'hardware chips interact in highly complex ways' is
>not based on fact, but on your own mistaken belief.

Not at all. The number of possible interaction states in I/O registers
and data/address buses is immense. My point remains that, regardless
of behavioral complexity, almost all hardware systems remain logically
stable (failure-free) during their lifetimes. When they fail, it is
almost invariably due to physical reasons (age, heat, etc...) The same
is not true for software systems. In the latter, instability is
proportional to complexity. IIRC, unreliability in software increases
at a greater rate than complexity.

>)>I don't see the words 'equal complexity' in there.
>)>
>)>Therefore, I conclude that this difference is caused because hardware
>)>is a lot simpler on a logic level than software.
>)
>) Nonsense. The fact that hardware, **regardless of complexity**, almost
>) never suffer from logical errors after release is proof of my
>
>That's because even the *most* complex hardware is a *lot* more simple
>than the average piece of software. So it is *not* proof of your point.

The part about **regardless of complexity** apparently went over your
head.

>When are you going to give up this weird belief that hardware complexity
>is even in the same ballpark as software complexity.

This is not by belief. It's your strawman. I believe that, given a
hardware system and a software system of equal behavioral complexity,
the former is almost always much more reliable than its software
counterpart. The reason is that logical bugs are much easier to find
in hardware than in software. They are easier to find because logic
circuits are not only easier to understand than algorithms, they don't
suffer from the biggest problem of algorithmic software: unresolved
data and event dependencies.

Louis Savain

The Silver Bullet: Why Software Is Bad and What We Can Do to Fix it
http://users.adelphia.net/~lilavois/Cosas/Reliability.htm



Relevant Pages

  • Re: WSJ article on software liability
    ... >)>size and complexity of a software emulator of a chip. ... Does that make hardware any less complex? ... A software emulation of hardware is a lot more stable ... Hardware failure is so much more expensive than software failure. ...
    (comp.programming)
  • Re: OT: CPUs
    ... strategy but rather yields oscillating trends: (complexity in hardware ... There certainly are numerous examples of coevolution in predator-prey ...
    (talk.origins)
  • Re: WSJ article on software liability
    ... >>'' My point is that an algorithmic software system of a given complexity ... >> is much more unstable than an equally complex hardware system. ... >>are either using the assumption that they are of equal complexity, ... hardware design vs. software design. ...
    (comp.programming)
  • Re: WSJ article on software liability
    ... It has to do with the fact that almost any hardware system with equal ... behavioral complexity to a software system will have fewer logical ... You have *still* not proven the 'equal complexity' bit. ...
    (comp.programming)
  • Re: WSJ article on software liability
    ... >Get over this idea that hardware design is comparable in complexity to ... >sort routine written in a mainstream programming language. ...
    (comp.programming)