Comment by UncleMeat
6 months ago
Just my opinion, but I think that having contracts that might be checked is a really really really dangerous approach. I think it is a much better idea to start with a plan for what sorts of things you can check soundly and only do those. "Well we missed that one because we only have intraprocedural constant propagation" is not going to be the sort of thing most users understand and will catch people by surprise.
Well, we've already tried that, and no one used it.
Safety is a spectrum. You add +1 and safety goes up.