Attitude to Software Flaws

Software that achieves anything but the trivial is intrinsically complex and its manufacture is necessarily inexact. It is one of the contradictions inherent in software that although it is distributed on the mass-market scale of consumer goods, it is not so much manufactured as hand-crafted. Even in the most successful programs from the biggest software houses, bugs are inevitable and software consumers cannot reasonably expect a perfect product.

What software consumers may reasonably expect is frank admission to and open discussion of defects that the manufacturer knows to be present. Sadly, this simple matter of integrity and responsibility is typically too much for software manufacturers. Perhaps they think that honesty to consumers about the software that manufacturers sell to consumers would harm sales or lessen profits. What is certain is that software manufacturers have the luxury of only rarely having to be honest. Sales and profits that would be harmed by honest disclosure of knowledge about defects have become sales and profits that software manufacturers count as their just rewards for developing software.

Some manufacturers, and very notably Microsoft, have even lobbied governments to make it unlawful for software to be disassembled, decompiled, reverse engineered or otherwise studied carefully, even for the purpose of assessing the truth of a software manufacturer’s representations about the software.

Consumers cannot easily inspect software to determine the truth of a manufacturer’s claims about a product’s expected behaviour, let alone the truth of a manufacturer’s explanations of an unexpected bug. Even in the hands of expert programmers, techniques for independent analysis of computer software are simply not well enough established to be of any use in keeping software manufacturers honest.

Copyright © 1997-99. Geoff Chappell. All rights reserved.

[Home][Programming Samples][Application Notes][Security Notes][Editorial][Consultation][Contacts]