3 ms·
For purely mathematical properties, a purely mathematical technique is probably best. But "is commutative" is just an example here (one of the topics of this p
by jmull 1y ago
For purely mathematical properties, a purely mathematical technique is probably best.
But "is commutative" is just an example here (one of the topics of this post is how simplistic examples can mislead people as to the usefulness of a given verification technique).
The general point of software verification is to ensure the software "does what I want". But in a very large proportion of cases, people aren't clear on precisely what they want. They could not use a formal method because they could not write a formal specification. A nice thing about unit tests is that you can work through your expectations iteratively and incrementally, broadening and deepening your understanding of exactly what the software should do, capturing each insight along the way in a reusable way.