Potential benefits
Ability to check for internal consistency
- This is very different from program correctness, where the issue was to show that a program satisfied a specification
Ability to prove properties about the specification
- Related to M. Jackson’s refutable descriptions
Provides basis for falsification (a fancy word for “debugging”)
- Perhaps more useful than verification