Seven Myths of Formal Methods

Seven myths about formal methods, and their rebuttal, are:

1. Formal methods can guarantee that software is perfect.

Rather: they are very helpful at finding errors early on and can nearly eliminate some classes of error.

2. They are all about program proving.

Rather: they work largely by making you think very hard about the system you propose to build.

3. They are useful only for safety-critical systems.

Rather: they are useful for almost any application.

4. They require highly trained mathematicians.

Rather: they are based on mathematical specifications, which are much easier to understand than programs.

5. They increase the cost of development.

Rather: they can decrease the cost.

6. They are unacceptable to clients.

Rather: they help clients understand what they are buying.

7. They are not used on real, large scale software.

Rather: they are being used successfully on practical projects in industry.

Quoted from: J. Anthony Hall, Seven myths of formal methods, IEEE Software, 7(5):11-19, September 1990.