I keep seeing books such as Software Foundations show up on forums with people interested in formal verification told they should look at them. I’ve watched people try and fail to learn this stuff for years. Very few make it. Some even get bitter against the concept of formal methods because they attempted the hardest kind. Those that enjoy it outside of CompSci’s heavy hitters are usually doing toy problems for fun. I’d rather advise people new to the topic in such a way that we get more people into the field over time using whichever productive, formal methods they were able to learn.
So, based on a prior comment here, I just drafted up this advice to drop on any thread like that I see:
Here’s the structure of the argument/advice:
Tell them how hard it is. Most don’t really want to deal with that.
Tell them about formal methods that are easy to learn with immediate benefit. Suggest they start with those.
Tell them what resources to use to learn the hard stuff. Tell them it will take lots of time to learn.
Conditional: If they fail, tell them where No 2 can take them. If they succeed, tell them about best works in No 3 to increase odds theirs will be similar.
It seems pretty straight-forward. I’m sure there’s room for improvement, though.