Introduction#

Glossary#

Definitions#

Acronyms#

Synonyms#

Formal methods - The good part#

Goals#

Usage#

Software problems it solves#

There are some software problems that formal methods solve:

So it is important to ensure that the system will not reach inconsistent states.

So it is essential to verify that there are no software faults.

So it is crucial to find all equivalence classes. Formal methods can find all of them.

So it would be useful to prove all—even properties that had not been thought of (maybe undesirable)—posible properties of the system automatically. Formal methods can do it.

Formal methods - The bad part#

If it is so useful, why is it not used so much?

Verification limitations#

Few resources#

Formal methods is relatively recent, so it presents some problems typical of the new disciplines: