Formal verification is like marriage with a prenup vs marriage without

in #life7 years ago (edited)

Married to the code without a prenup?

The concept of formal verification is to be explicit about what the requirements are. In the formal specification it is defined explicitly what the code should do, how it should behave in practice. In a sense formal verification aims to reduce ambiguity and restrict the behavior of the code down an agreed upon path. Formal verification in essence seeks to prove the correctness of the intended algorithms so that the behavior can be more strictly managed.

The absence of formal verification seems to be like a marriage to the code with no way of truly knowing where it will lead. In addition you don't know if it will halt, so you cannot even manage how to gracefully end things. In other words, the prenup in the case of formal verification is like determining in advance how things should end so as to avoid an infinite loop.

Don't take this post too seriously

This post is not to be taken as literal and is just an exploration in metaphor. So before computer science experts pick it apart just know it's a humorous post rather than a technically precise post. Sometimes when we look at our lives we can see algorithms, and we can see code, and the concept of marriage is legally defined (law is a code). The prenup was created to allow graceful exit.

References

  1. https://en.wikipedia.org/wiki/Formal_verification
  2. https://en.wikipedia.org/wiki/Prenuptial_agreement
Sort:  

The prenup was created to allow graceful exit.

I think of a prenup as more of a Stop Loss.

This concept also applies in business. For example, when two companies want to form a JV, they are usually excited to proceed because they see the benefits of the potential collaboration and how much money they will make. But it is very important in the agreements to specify exactly how the JV will be unwound if the parties decide to get a divorce.

All of the wedding should be verified. Because it is a matter of life.

Interesting and amusing post! I never looked at a prenup from this perspective before.. being a programmer, that makes it even better.

Interesting and amusing post! I never looked at a prenup from this perspective before.. being a programmer, that makes it even better!

I always look at things in life as programs - I don't mean to, but I always find it amusing when I find other examples of life as a program. Love it!

We fix errors in code. We do the same in life and keep improving.

If you can afford to make errors then yes.

I agree with what you say.
If there is a wedding, it is one.
If there is no wedding, it is zero.
Life is that simple. There's no point in pushing.
@dana-edwards

For me above

If it's a wedding, it's one.
If there is no wedding, it is zero.

Of course, this part of the code depends on the writer :)))

Nice analogy 😂

Great!!!