next up previous
Next: Traditional scientific method isn't Up: Should Computer Scientists Previous: Is computer science an

Why should we experiment?

When I discuss the purpose of experiments with mathematicians, they often exclaim that experiments don't prove a thing. It is true that no amount of experimentation provides proof with absolute certainty. What then are experiments good for? We use experiments for theory testing and for exploration.

Experimentalists test theoretical predictions against reality. A community gradually accepts a theory if all known facts within its domain can be deduced from the theory, if it has withstood numerous experimental tests and if it correctly predicts new phenomena.

Nevertheless, there is always an element of suspense: To paraphrase Dijkstra, an experiment can only show the presence of bugs in a theory, not their absence. Scientists are keenly aware of this uncertainty and are therefore ready to shoot down a theory if contradicting evidence comes to light.

A good example of theory falsification in computer science is the famous Knight-and-Leveson experiment[8]. The experiment was concerned with the failure probabilities of multi-version programs. Conventional theory predicted that the failure probability of a multi-version program was the product of the failure probabilities of the individual versions. However, Knight and Leveson observed in an experiment that the failure probabilities of real multi-version programs were significantly higher. In essence, the experiment falsified the basic assumption of conventional theory, namely that faults in program versions are statistically independent.

Experiments are also used for exploring areas where theory and deductive analysis do not reach. Experiments probe the influence of assumptions, eliminate alternative explanations of phenomena, and unearth new phenomena in need of explanation. In this mode, experiments help with induction: deriving theories from observation.

Artificial neural networks are a good example of this process. After having been discarded on theoretical grounds, experiments demonstrated properties better than predicted. Researchers have now developed better theories to account for these properties.




next up previous
Next: Traditional scientific method isn't Up: Should Computer Scientists Previous: Is computer science an

Walter Tichy
Mon May 4 16:58:54 MET DST 1998